비교연산자
작다: <
크다: >
작거나 같다: <=
크거나 같다: >=
loose equality ==
: 타입을 신경쓰지 않음
'5' == 5 // true
'5' != 5 // false
strict equality ===
: 타입과 값을 신경씀, === 사용 권장
'5' === 5 // false
'5' !== 5 // true
object는 메모리에 탑재될 때 레퍼런스 형태로 저장된다.
객체가 똑같은 데이터를 갖고 있더라도 실제로 메모리에는 서로 다른 레퍼런스가 들어 있고 그 레퍼런스는 서로 다른 객체를 가리키고 있다.
const me1 = {name: 'fiz'}
const me2 = {name: 'fiz'}
const me3 = me1 에서
me1 == me2 // 각각 다른 레퍼런스가 저장되어 있으므로 false
me1 === me2 // 각각 다른 레퍼런스가 저장되어 있으므로 false
me1 === me3 // 같은 레퍼런스를 가지므로 true
0 == false // true
0 === false // false, 타입이 다르다
' ' == false // true
' ' === false // false, 타입이 다르다
null == undefined // true, 같은 것으로 간주
null === undefined // false, 타입이 다르다
let hungerLevel = 7;
if (hungerLevel > 7) {
console.log('Time to eat!')
} else {
console.log('We can eat later!')
};
let mood = 'sleepy';
let tirednessLevel = 6;
if (mood === 'sleepy' && tirednessLevel > 8) {
console.log('time to sleep')
} else {
console.log('not bed time yet')
};