
let color = 'beige';
let area = 3 * 2;
산술연산자, 문자결합연산자, 대입연산자, 증감연산자, 비교연산자, 논리연산자, 삼항연산자
currentYear - birthyear + 1 currentYear, birthyear, 1은 연상 대상으로 '피연산자' 로 부른다.| 분류 | 종류 | 설명 |
|---|---|---|
| 사칙 연산자 | + | 더하기 연산을 할 때 사용한다. |
| 사칙 연산자 | 문자와 문자, 문자와 변수 등을 연결할 때 사용한다. | |
| 사칙 연산자 | - | 빼기 연산을 할 때 사용한다. |
| 사칙 연산자 | * | 곱하기 연산을 할 때 사용한다. |
| 사칙 연산자 | / | 몫을 구할 때 사용한다. |
| 나머지 연산자 | % | 나머지를 구할 때 사용한다. |
| 증감 연산자 | ++ | 변수값을 1 씩 증가시킬 때 사용한다. |
| 증감 연산자 | -- | 변수값을 1 씩 감소시킬 때 사용한다. |
<script>
let num1 = 15;
let num2 = 2;
let result;
result = num1 + num2;
document.wrtie(result + '<br>');
result = num1 - num2;
document.wrtie(result + '<br>');
result = num1 * num2;
document.wrtie(result + '<br>');
result = num1 / num2;
document.wrtie(result + '<br>');
result = num1 % num2;
document.wrtie(result + '<br>');
</script>

<script>
const t1 = "학교종이";
const t2 = "떙땡땡";
const t3 = 8282;
const t4 = "어서모이자";
let result;
result = t1 + t2 + t3 + t4;
document.write(result);
</script>

| 종류 | 설명 |
|---|---|
| = | num = 1 은 우변의 값 1을 좌변의 num 에 대입한다.(저장한다.) |
| += | num += 2 는 num = num + 2 와 같다. |
| -= | num -= 2 는 num = num - 2 와 같다. |
| *= | num = 2 는 num = num 2 와 같다. |
| /= | num /= 2 는 num = num / 2 와 같다. |
| %= | num %= 는 num = num % 2 와 같다. |
<script>
let num1 = 10;
let num2 = 3;
num1 += num2; // 13 = 10 + 3
document.write(num1, '<br>');
num1 -= num2; // 10 = 13 - 3
document.write(num1, '<br>');
num1 *= num2; // 30 = 10 * 3
document.write(num1, '<br>');
num1 /= num2; // 10 = 30 / 3
document.write(num1, '<br>');
num1 %= num2; // 1 = 10 % 3
document.write(num1, '<br>');
//html 태그를 복합연산자를 이용해 사용함.
var str = "<table border='1'>";
str += "<tr>";
str += "<td>자바스크립트</td><td>제이쿼리</td><td>study</td>";
str += "</tr>";
str += "</table>;
document.write(str);
</script>

let score = 10;
++score; // 11;
score++; // 12;
console.log(score);
// 전치연산자(선행연산자)
let score = 10;
let result = ++score;
console.log(result + ',' + score); //11, 11
// 후치연산자(후행연산자)
let score = 10;
let result = score++;
console.log(result + ',' + score); //10, 11
<script>
//++score 전치연산자
let score = 10;
let result = ++score;
document.write(result + ',' + score + '<br>');
//score++ 후치연산자
let score = 10;
let result = score++;
document.write(result + ',' + score + '<br>');
//우선순위 연산자
let calculation = 3 - 5 * 8 / 2 + 3;
document.write(calculation);
</script>

let result = ++score
let result = score = 11
let result = 11
let result = socre++
let result = 10
score++
score = 11
let a = 10; // a는 ?
let b = a++ + 5; // b는 ?
let c = 10; // c는 ?
let d = ++c + 5; // d 는 ?
let a = 10; // a는?
let b = a++ +5; // b는 ?
let c = b--; // c는 ?
//해설
let a = 10;
let b = a++ + 5;
// b = 10 + 5 => b 는 15
// a는 나중에 연산되므로 10 + 1, 최종 a는 11
let c= b--;
// 15- = 14; 최종 b는 14
// 후치연산자는 위에 식이 계산되기 전에 값이 저장되므로
// 최종 c는 15
연산자의 우선순위는 '*', '/'중 좌측 연산자 우선 '+', '-'중 좌측연산자 우선, 마지막이'=' 연산자 입니다.
let calculation = (5 - 2) * 8;
| 종류 | 설명 |
|---|---|
| a > b : a가 b보다 크다. | 참이면 true, 거짓이면 false |
| a < b : a가 b보다 작다. | 참이면 true, 거짓이면 false |
| a >= b : a가 b보다 크거나 같다. | 참이면 true, 거짓이면 false |
| a <= b : a가 b보다 작거나 같다. | 참이면 true, 거짓이면 false |
| a == b : a와 b는 같다.(동등연산자) | 값이 같으면 true, 같지 않으면 false |
| a != b : a와 b는 다르다. | 값이 같지 않으면 true, 같으면 false |
| a === b : a와 b가 같고 데이터 타입도 같으면(일치연산자) | 같으면 true, 같지 않으면 false |
| a !== b : a와 b가 같지 않거나 데이터 타입이 같지 않으면 | 같지 않으면 true, 같으면 false |
| 종류 | 설명 |
|---|---|
| 이상 | num >= 10, 10 이상을 의미 |
| 초과 | num > 10, 10 초과를 의미 |
| 이하 | num <= 10, 10 이하를 의미 |
| 미만 | num < 10, 10 미만 의미 |
<script>
const com1 = (5 > 2);
console.log('com1 : ' + com1);
const com2 = (5 < 2);
console.log('com2 : ' + com2);
const com3 = (5 == 5);
console.log('com3 : ' + com3);
const com4 = (5 == "5");
console.log('com4 : ' + com4);
const com5 = (5 === 5);
console.log('com5 : ' + com5);
const com6 = (5 != 5);
console.log('com6 : ' + com6);
const com7 = (5 !== 5);
console.log('com7 : ' + com7);
</script>

| 종류 | 설명 |
|---|---|
| && (AND) 논리곱 | a && b, a와 b 모두 참일때 true |
| true && true = true , true && false = false | |
| false && true = false , false && false = false | |
| ││(OR) 논리합 | a││b, a와 b중 하나만 참이면 true |
| true ││ true = true , true ││ false = true | |
| false ││ true = true , false ││ false = false | |
| !(NOT) 부정 | !a, a가 true이면 false, false이면 true로 바꾸어준다. |
<script>
let logic1, logic2, logic3, logic4, logic5;
logic1 = (3 > 2) && (5 > 3);
console.log('logic : ' + logic1);
logic2 = (3 < 2) && (5 > 3);
console.log('logic : ' + logic2);
logic3 = (3 > 2) || (5 > 3);
console.log('logic : ' + logic3);
logic4 = (3 < 2) || (5 < 3);
console.log('logic : ' + logic4);
logic5 = !(3 < 2);
console.log('logic : ' + logic5);
logic6 = !(3 > 2);
console.log('logic : ' + logic6);
</script>

| 1st | 2nd | 3nd | 4nd | 5nd | 6nd | 7nd | |
|---|---|---|---|---|---|---|---|
| ( ) | |||||||
| 단항연산자 | ! | ++ | -- | ||||
| 산술연산자 | * | / | % | + | - | ||
| 비교연산자 | < | <= | > | >= | == | != | === |
| 논리연산자 | && | ││ | |||||
| 대입(복합)연산자 | = | += | -= | *= | /= | %= |
조건식 ? 자바스크립트 코드1 : 자바스크립트 코드2
조건식의 값이 참이면 1번코드 실행, 그렇지 않으면 2번코드 실행
<script>
const a = 10;
const b = 3;
const result = a > b ? "JavaScript" : "hello";
document.write(result);
</script>

<script>
const num1 = 10;
const num2 = -10;
const result1 = num1 > 0 ? '양수' : '음수';
const result2 = num2 > 0 ? '양수' : '음수';
document.write(result1 + '<br>');
document.write(result2);
</script>

적정체중 = (본인신장 - 100) * 0.9
입력 : 당신의 이름은? / 신장은 ? / 몸무게는 ?
적정 평균체중 오차는 ±5이며
방문자가 입력한 체중이 적정체중일 경우에는 '000님은 적정체중입니다.'를
아닐경우에는 '000님은 적정체중이 아닙니다.'를 화면에 출력하시오.
사용자몸무게 >= 적정체중 -5 && 사용자몸무게 <= 적정체중 + 5
<script>
const userName = prompt("당신의 이름은?","이름을 입력하세요.");
const userHeight = prompt("당신의 신장은?","신장을 입력하세요.");
const userWeight = prompt("당신의 몸무게는 ?","몸무게를 입력하세요.");
//적정체중?(본인신장 - 100) * 0.9
const nomalWeight = (userHeight - 100) * 0.9;
let result = userWeight >= nomalWeight - 5 && userWeight <= nomalWeight + 5;
result = result ? ' 적정체중입니다. ' : ' 적정 체중이 아닙니다. ';
document.write(userName + '님은' + result);
</script>