๋ชฉ์ฐจ
๋ถ๋ฆฌ์ธ(boolean)์ ๊ด๋ จ๋ ์ฐ์ฐ์๋ค์ ๋ํด์ ์์๋ณด์!
let a = 1 === 2; //false
let b = 'abc' !== 'def' //true
let c = a !== b; //true
let d = typeof a === typeof b === true; //true
4๋ฒ์งธ ์์์ ๊ฐ์ด ์ฐ์ ๋น๊ต ์์๋ ์ฐ์ ์์์ ๋ฐ๋ผ ์ฐ์ฐ์ด ๋๋ค.
(ํด๋น ์์๋ ๊ฐ์ ์ฐ์ ์์ ์ด๋ฏ๋ก ์์ ์ฐ์ฐ์ด ๋จผ์ )
1. ์ฐ์ฐ์
1) ๋ถ์ ์ฐ์ฐ์
! ๋ฅผ ์ด์ฉํด NOT ์ฐ์ฐ์ ์ํํ ์ ์๋ค.
!true //false
!!true //true
์ด๋ !!๋ก ๋๊ฐ๋ฅผ ๋ถ์ผ ๊ฒฝ์ฐ !๊ฐ ์๋ก ์นํ๋๋๋ฐ
์ด๋ฅผ ์ด์ฉํ์ฌ ํ์ฌ ๊ฐ์ boolean ๊ฐ์ผ๋ก ๋ณํ ํ ์ ์๋ค.
console.log(!!'a')
>>> true
2) AND OR ์ฐ์ฐ์
&& ๊ณผ || ์ผ๋ก AND, OR ์ฐ์ฐ์ ์ํํ ์ ์๋ค.
let x = 5;
console.log(
(x > 10 && x <= 20) || x % 3 === 0 //false || false
);
>>> false
short circuit
๋น๊ต ์ฐ์ฐ ์ฝ๋๋ฅผ ๋ชจ๋ ์คํ ํ์ง ์๊ณ ํ์ ์ ์ผ๋ก ๊ฒฐ๊ณผ๊ฐ ๋์ฌ ๊ฒฝ์ฐ
์ค๊ฐ์ ์ฐ์ฐ์ ํ์ถํ๋ค.
&& | ์์ ์ฐ์ฐ์ด false์ผ ๊ฒฝ์ฐ ํ์ false |
|| | ์์ ์ฐ์ฐ์ด true์ผ ๊ฒฝ์ฐ ํ์ true |
์ด๋ฅผ ์ด์ฉํด ์ฐ์ฐ ๋ถํ๊ฐ ์ ์ ์ฝ๋๋ฅผ ์์ ๋์์ ๋ฆฌ์์ค๋ฅผ ์ ์ฝํ ์ ์๋ค!
๋ํ &&, || ์ฐ์ฐ์๋ ๊ฐ ์์ฒด๋ฅผ ๋ฐํํ๋ค!
let x = true;
let y = x && 'abc'; //true์ด๋ฏ๋ก 'abc'๊น์ง ํ์ธ ํ ๋ฐํ
let z = x || 123; //true์ด๋ฏ๋ก ํ์ถ ๋ฐ ๋ฐํ
console.log(y, z);
>>> abc true
let x = false;
let y = x && 'abc'; //false์ด๋ฏ๋ก ๋น ๋ฅด๊ฒ ํ์ถ ํ ๋ฐํ
let z = x || 123; //false์ด๋ฏ๋ก ๋ค๊น์ง ํ์ธ ํ ๋ฐํ
console.log(y, z);
>>> false 123
let x = 'abc' || true;
console.log(x);
>>> abc
์์ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ์ &&์ Truthy๋ฅผ ๋์ฒดํ๊ณ , ||๋ Falsy๋ฅผ ๋์ฒดํ๋ค๋ ๊ฒ์ ์ ์ ์๋ค!
3) ์ผํญ์ฐ์ฐ์
(์กฐ๊ฑด) ? (์ฐธ์ผ ๊ฒฝ์ฐ) : (๊ฑฐ์ง์ผ ๊ฒฝ์ฐ)
2. Truthy Falsy
true ๋๋ false๋ก ํ๊ฐ๋๋ ๊ฐ๋ค๋ก ๊ตฌ๋ถ๋๋ค.
์ด ์ค false๋ก ํ๊ฐ๋๋ ๊ฒ๋ค์ ๋ํด์๋ง ์์๋ณด์!
0 |
'' (๋น ๋ฌธ์์ด) |
null |
undefined |
NaN |
ํ์ง๋ง ์ด๋ค ์ค ํ๋๊ธ์จ์ ํด๋นํ๋ ๊ฒ๋ค์ ์ฐ์ฐ ์ false๋ก ํ์ ์ด ๋ณํ๋์ง ์๋๋ค.
//false์ ์ง์ ๋น๊ต์
console.log(
null == false,
undefined == false,
NaN == false,
);
>>> false false false
ํ์ง๋ง ์์ ๊ฐ์ ์ง์ ์ฐ์ฐ ์ธ์๋ false๋ก ํ๊ฐ๋๋ฏ๋ก ์ฐ์ฐ์๋ ํ์ฉํ ์ ์๋ค.
let x = 0;
let y = 1;
x && x++; //0์ false๋ก ํ๊ฐ๋๋ฏ๋ก ํ์ถ
y && y++; //1์ true๋ก ํ๊ฐ๋๋ฏ๋ก ์ด์ด์ ์ฐ์ฐ
console.log(x, y);
>>> 0 2
'๐ | WEB DEV > Vanilla JS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
JS_๊ธฐ๋ณธ ๋ฌธ๋ฒ (16)_์์ํ์ ๊ณผ ์ฐธ์กฐํ์ (0) | 2023.03.01 |
---|---|
JS_๊ธฐ๋ณธ ๋ฌธ๋ฒ (15)_์ฐ์ฐ์(์ผํ, null๋ณํฉ(??) ) (2) | 2023.02.26 |
JS_๊ธฐ๋ณธ ๋ฌธ๋ฒ (13)_์ซ์์ ์ฌ์ฉ๋๋ ์ฐ์ฐ์๋ค (0) | 2023.02.26 |
JS_๊ธฐ๋ณธ ๋ฌธ๋ฒ (12)_๋ฌธ์์ด์ ์ฌ์ฉ๋๋ ์ฐ์ฐ์๋ค (0) | 2023.02.26 |
JS_๊ธฐ๋ณธ ๋ฌธ๋ฒ (11)_ํ ํ๋ฆฟ ๋ฌธ์์ด (0) | 2022.11.23 |
๋๊ธ