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