
let y=1; //y에 1을 할당
let x=y; //x에 y를 할당. x는 y 값인 1이 됨
x=x+y; //x에 x+y를 할당. x=1,y=1이므로 x=2가 됨
x=x-y; //x에 x-y를 할당. x=2,y=1이므로 x=1가 됨
x=3; //x에 3을 할당
y=2; //y에 2를 할당
x=x*y; //x에 x*y를 할당. x=3,y=2이므로 x=6이 됨
x=x/y; //x에 x/y를 할당. x=6,y=2이므로 x=3이 됨
x=x%y; //%(퍼센트)는 자바스크립트 연산에서 나머지를 뜻함. x에 x%y를 할당. x=3,y=2이므로 3을 2로 나눈 나머지는 1, x=1이 됨
x=3; //x에 3을 할당
y=2; //y에 2를 할당
x=x**y; //**는 지수를 뜻함. x=3,y=2이므로 3^2=9가 됨. x=9
| 이름 | 복합 할당 연산자 | 뜻 |
|---|---|---|
| 할당 | x=y | x=y |
| 덧셈 할당 | x+=y | x=x+y |
| 뺄셈 할당 | x-=y | x=x-y |
| 곱셈 할당 | x*=y | x=x*y |
| 나눗셈 할당 | x/=y | x=x/y |
| 나머지 할당 | x%=y | x=x%y |
| 지수 할당 | x**=y | x=x**y |
동등(==)연산자, 다른지를 비교할 때는 부등(!=)연산자를 사용한다.let x=3;
let y=4;
x==y; //x와 y 값이 같은지를 비교하며 값이 다르므로 false를 반환
x!=y; //x와 y 값이 다른지를 비교하며 값이 다르므로 true를 반환
만약에 비교하는 두 피연산자가 서로 타입이 다른 경우 자바스크립트는 비교를 위해 적절한 타입으로 변환한다.
let x=3; //숫자형
let y="3"; //문자형
x==y; //x와 y의 데이터 타입은 다르지만, 자바스크립트로 문자 3을 숫자로 타입 변환해서 비교하게 되고, 같은지를 비교하기 때문에 값이 같으므로 true를 반환
일치(==)연산자, 불일치(!=)연산자를 사용해야 한다.let x=3; //숫자형
let y="3"; //문자형
x===y; //x와 y의 데이터 타입까지 비교하기 때문에 false를 반환
| 연산자 | 설명 |
|---|---|
| x>y | x가 y보다 크면 참(true)를 반환 |
| x>=y | x가 y보다 같거나 크면 참(true)를 반환 |
| x<y | x가 y보다 작으면 참(true)를 반환 |
| x<=y | x가 y보다 같거나 작으면 참(true)를 반환 |
산술 연산자는 피연산자가 숫자 값이며 기본적인 덧셈(+), 뺄셈(-), 곱셈(*), 나눗셈(/) 연산으로 숫자 값을 반환한다.
논리 연산자는 Boolean(참/거짓) 값에 대한 논리AND 비교 혹은 논리OR 비교를 통해 Boolean(참/거짓)을 반환한다.
자바스크립트에서 AND 비교는 &&를, OR 비교는 ||를 사용한다
let o1=true&&true; //true를 반환. 둘다 true인 경우 true를 반환
let o2=true&&false; //false를 반환. 둘 중 하나라도 false이면 false를 반환
let o3=true||false; //true 반환, 둘 중 하나라도 true이면 true를 반환
let o4=(3==3)&&(4==4); //true 반환
논리NOT 연산자를 이용해서 true는 false로, false는 true로 변경할 수 있다.
let o1=!true; //false 반환
let o2=!false; //true 반환
let o3=!(3==3); //false 반환
let o4=!(3==4); //true 반환
문자열 값을 연결 연산자(+)를 이용해서 두 문자열을 합친 새로운 문자열을 반환한다.
console.log("바닐라"+""+"JS"); //바닐라 JS 반환
let myString="바닐라";
myString+="JS"; // 바닐라JS 반환
조건 연산자는 조건에 따라 2개의 값 중 하나를 갖게 된다.
//조건 ? 값1: 값2;
let age=18;
let isAdult=(age>=18)? true:false; //age가 18 이상이면 true, 그렇지 않으면 false를 반환
//조건1 ? 값1 : 조건2 ? 값2 : 값3;
let point=92;
let grade=(point>=90)? "A": (point>=80)? "B" : "C";
//point가 90이상이면 A, 80이상이면 B, 80보다 작으면 C