
png created by here
let mydrink = 'milktea';//선언문
mydrink = 'americano';//표현식, 할당문
let yourdrink = mydrink = 'americano'; //도 가능
//선언문끼리는 선언할 수 없다
let mycake = let yourcake = 'chocolate';(x)
+ 더하기
- 빼기
* 곱하기
%나눗셈의 나머지
/ 나눗셈
** 제곱(ECMA 7부터 적용) OR Math.pow(제곱할 숫자, 몇제곱할지)
arithmetic의 우선순위는 일반 계산식과 동일
*와 /이 우선, 그 다음에 +, -계산하는 순서
** +는 문자열끼리 연결할 때도 사용된다
console.log('milk'+'tea');
//milktea
+ 양
- 음
! 부정
let mywallet = 5000;
mywallet = -mywallet;
console.log(mywallet);//-5000
mywallet = +mywallet;
console.log(mywallet);//-5000
mywallet = -mywallet;
console.log(mywallet);//5000
let iLikeCoffee = true;
console.log(!iLikeCoffee);//false
conosle.log(!!iLikeCoffee);//true
(변수) = (변수) (연산자) (숫자)를 (변수) (연산자)= (숫자)로 줄이는 것
let mylunch = 5000;
mylunch += 5000;//mylunch = mylunch + 5000;와 같음
mylunch -= 5000;//mylunch = mylunch - 5000과 같음
mylunch *= 5000; //mylunch = mylunch * 5000과 같음
mylunch /= 5000; // mylunch = mylunch / 5000과 같음
mylunch **= 5000; // mylunch = mylunch ** 5000과 같음
변수++, 변수--, ++변수, --변수
++, --가 뒤에오는 경우: 실행시킨 후 값 증감
++, --가 앞에오는 경우 : 값 증감 후 실행
let a = 1;
let i = 3 + a;//i =4
let i2 = i++
let i3 = ++i
console.log(i2);
//i2 = 4, i = 5
//i++는 일단 i값을 출력하고 i에 1을 더하라는 뜻, 그래서 4+1해서 5가 됨
console.log(i3);
//i = 5, i3 = 5+1 = 6
//++i는 i에 일단 1을 더하고 그 담에 i값을 출력하라는 뜻
< 작다
> 크다
>= 크거나 같다
<= 작거나 같다
==값이 같다
===값과 타입 모두 같다
!= 값이 같지 않다
!==값과 타입 모두 같지 않다
console.log(2 == '2');//true,
//2와 숫자 '2'는 타입은 각각 number와 string으로 다르지만 값은 2로 같다
console.log(2 === '2');//false
//2는 number, '2'는 string으로 타입이 다르고, 따라서 같은 값이 될 수 없고 타입
console.log(2 != '2');//false
```!=```은 값만 비교하기 때문에 2로 값이 같은 상태라서 false
console.log(2 !== '2');//true;
```!==```은 값과 타입 모두 비교하기 때문에 값과 타입이 모두 달라 true
console.log(true == 1);
//기본적으로 1은 true를 의미하기 때문에 true는 1과 같은 값으로 인정
console.log(true === 1);
//엄격 비교이기 때문에 true는 boolean, 1은 number로 다른 값과 다른 타입으로 인정
console.log(false == 0);
//기본적으로 0은 flase를 의미하기 때문에 false는 0과 같은 값으로 인정
console.log(false === 0);
//엄격 비교이기 때문에 false는 boolean, 0은 number로 다른 값과 다른 타입으로 인정
let object1 = {
name: 'hi',
}
let object2 = {
name: 'hi',
}
console.log(object1 == object2);//false
//object1의 데이터 주소와, object2의 데이터 주소가 다르기 때문에 값이 다름
console.log(object1 === object2);//false
//object1의 데이터 주소와, object2의 데이터 주소가 다르기 때문에 값과 타입 모두 다름
console.log(object1.name == object2.name);
//둘 다 'hi'로 같은 값이니까 true
console.log(object1.name === object2.name);
//둘다 hi이고 string으로 타입도 같아서 true
let object3 = object2;
console.log(object3 == object2);//true
// 둘다 데이터 주소가 같으니까 값이 같은 걸로 인정되어서 true
console.log(object3 === object2);//true
//둘 다 데이터 주소가 같으니까 값도 타입도 같은 걸로 인정되어서 true