๐ 7์ฅ, ์ฐ์ฐ์
1
๐ ๋ฐฐ์ด ๋ด์ฉ ๋ฐ ๊ธฐ์ตํ๊ณ ์ถ์ ๋ด์ฉ
์ฐ์ฐ์
- ์ฐ์ฐ์(operator)๋ ํ๋ ์ด์์ ํํ์์ ๋์์ผ๋ก ์ฐ์ , ํ ๋น, ๋น๊ต, ๋ ผ๋ฆฌ, ํ์ , ์ง์ ์ฐ์ฐ ๋ฑ์ ์ํํด ํ๋์ ๊ฐ์ ๋ง๋ฌ
- ์ฐ์ฐ์ ๋์์ ํผ์ฐ์ฐ์(operand)
- ํผ์ฐ์ฐ์๋ ๊ฐ์ผ๋ก ํ๊ฐ๋ ์ ์๋ ํํ์์ด์ด์ผ ํจ
- ํผ์ฐ์ฐ์ = โ๊ฐโ
- ์ฐ์ฐ์ = ํผ์ฐ์ฐ์๋ฅผ ์ฐ์ฐํ์ฌ ์๋ก์ด ๊ฐ์ ๋ง๋ฆ
์ฐ์ ์ฐ์ฐ์
- ์ฐ์ ์ฐ์ฐ์ด ๋ถ๊ฐ๋ฅํ ๊ฒฝ์ฐ NaN ๋ฐํ
- ์ฆ๊ฐ/๊ฐ์ ์ฐ์ฐ์(++/โ)๋ ํผ์ฐ์ฐ์์ ๊ฐ์ ๋ณ๊ฒฝํ๋ ๋ถ์ ํจ๊ณผ๊ฐ ์์
- ํผ์ฐ์ฐ์์ ๊ฐ์ ๋ณ๊ฒฝํ๋ ์๋ฌต์ ํ ๋น์ด ์ด๋ค์ง
- +/- ๋จํญ ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ฉด ์ซ์ ํ์ ์ผ๋ก ๋ณํํ์ฌ ๋ฐํ
- ์๋ฌต์ ํ์ ๋ณํ/ํ์ ๊ฐ์ ๋ณํ์ ์ํ
ํ ๋น ์ฐ์ฐ์
- ํ ๋น๋ฌธ์ ํํ์์ธ ๋ฌธ์ผ๋ก์ ํ ๋น๋ ๊ฐ์ ํ๊ฐ
- ์ฐ์ ํ ๋น ๊ฐ๋ฅ
๋น๊ต ์ฐ์ฐ์
- ์ขํญ๊ณผ ์ฐํญ์ ํผ์ฐ์ฐ์๋ฅผ ๋น๊ตํ ๋ถ๋ฆฌ์ธ ๊ฐ์ผ๋ก ๋ฐํ
- ==(๋๋ฑ ๋น๊ต)์ ์๋ฌต์ ํ์ ๋ณํ์ ํตํด ํ์ ์ ์ผ์น ์ํจ ํ ๊ฐ์ด ๊ฐ์์ง ๋น๊ต
- ===(์ผ์น ๋น๊ต)์ ํ์ ๊น์ง ๋น๊ต
- ๋๋ฑ๋น๊ต ์ฐ์ฐ์๋ ์์ธกํ๊ธฐ ์ด๋ ค์ด ๊ฒฐ๊ณผ๋ฅผ ๋ํ๋ด๊ธฐ ๋๋ฌธ์ ์ฌ์ฉํ์ง ์์ ํธ์ด ์ข์ผ๋ฉฐ, ์ผ์น ๋น๊ต ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์
- ์ผ์น ๋น๊ต ์ฐ์ฐ์์์ ์ฃผ์ํด์ผ ํ ๊ฒ์ NaN์
- NaN์ ์์ ๊ณผ ์ผ์นํ์ง ์์ ์ ์ผํ ๊ฐ
- ์ซ์๊ฐ NaN์ธ์ง ์กฐ์ฌํ ๋ ค๋ฉด ๋นํธ์ธ ํจ์ isNaN์ ์ฌ์ฉ
- ์์ 0๊ณผ ์์ 0์ ๋น๊ตํ๋ฉด true๋ก ๋ฐํ
- Object.is(ํผ์ฐ์ฐ์1,ํผ์ฐ์ฐ์2); ๋ฉ์๋ ์ฌ์ฉํ์ฌ ๋น๊ต
์ผํญ ์กฐ๊ฑด ์ฐ์ฐ์
์ผํญ ์กฐ๊ฑด ์ฐ์ฐ์(Ternary operator)๋ ์กฐ๊ฑด์์ ํ๊ฐ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ๋ฐํํ ๊ฐ์ ๊ฒฐ์
JS์ ์ ์ผํ ์ผํญ ์ฐ์ฐ์, ๋ถ์ ํจ๊ณผ๋ ์์
์กฐ๊ฑด์? true์ผ ๋ ๋ฐํ๊ฐ : false์ผ ๋ ๋ฐํ ๊ฐ;
์กฐ๊ฑด์์ ํ๊ฐ ๊ฒฐ๊ณผ๊ฐ ๋ถ๋ฆฌ์ธ ๊ฐ์ด ์๋๋ฉด ๋ถ๋ฆฌ์ธ ๊ฐ์ผ๋ก ์๋ฌต์ ํ์ ๋ณํ๋จ
์ผํญ ์กฐ๊ฑด ์ฐ์ฐ์์ ifโฆelse๋ฌธ์ ์ฐจ์ด
- ์ผํญ ์กฐ๊ฑด ์ฐ์ฐ์ ํํ์์ ๊ฐ์ฒ๋ผ ์ฌ์ฉ ๊ฐ๋ฅ
- ifโฆelse๋ฌธ์ ๊ฐ์ฒ๋ผ ์ฌ์ฉ ๋ถ๊ฐ๋ฅ
1 2 3 4 5
var x = 10; var result1 = if(x % 2) {result = 'ํ์'} else {result = '์ง์';} // SytaxError: Unexpected token if var result2 = x % 2? 'ํ์' : '์ง์'; console.log(result2); //์ง์
์กฐ๊ฑด์ ๋ฐ๋ผ ์ด๋ ํ ๊ฐ์ ๊ฒฐ์ = ์ผํญ ์กฐ๊ฑด ์ฐ์ฐ์ ํํ์์ด ์ ๋ฆฌ
์กฐ๊ฑด์ ๋ฐ๋ผ ์ํํด์ผ ํ ๋ฌธ์ด ์ฌ๋ฌ ๊ฐ = ifโฆelse๋ฌธ์ด ๊ฐ๋ ์ฑ ์ ๋ฆฌ
๋ ผ๋ฆฌ ์ฐ์ฐ์
- ๋
ผ๋ฆฌ ๋ถ์ ์ฐ์ฐ์(
!
)๋ ์ธ์ ๋ ๋ถ๋ฆฌ์ธ ๊ฐ์ผ๋ก ๋ฐํ๋๋ฉฐ, ํผ์ฐ์ฐ์๊ฐ ๋ฐ๋์ ๋ถ๋ฆฌ์ธ ๊ฐ์ผ ํ์๋ ์์( ์๋ฌต์ ํ์ ์ผ๋ก ๋ณํ ) - ๋
ผ๋ฆฌํฉ(
||
) ๋๋ ๋ ผ๋ฆฌ๊ณฑ(&&
) ์ฐ์ฐ์ ํํ์ ํ๊ฐ ๊ฒฐ๊ณผ๋ ๋ถ๋ฆฌ์ธ ๊ฐ์ด ์๋ ์ ์์ผ๋ฉฐ, ์ธ์ ๋ 2๊ฐ์ ํผ์ฐ์ฐ์ ์ค ์ด๋ ํ์ชฝ์ผ๋ก ํ๊ฐ๋จ
1
2
// ๋จ์ถํ๊ฐ
'Cat' && 'Dog'; // 'Dog'
๋ ๋ชจ๋ฅด๊ฐ์ ๋ฒ์น์ ์ฌ์ฉํ๋ฉด ๋ณต์กํ ํํ์์ ๊ฐ๋ ์ฑ ์ข์ ํํ์์ผ๋ก ๋ณํํ ์ ์์
1 2 !(x||y) === (!x&&!y) !(x&&y) === (!x||!y)
์ผํ ์ฐ์ฐ์
- ์ผํ(,)์ฐ์ฐ์๋ ์ผ์ชฝ ํผ์ฐ์ฐ์ ๋ถํฐ ์ฐจ๋ก๋๋ก ํผ์ฐ์ฐ์๋ฅผ ํ๊ฐํ๊ณ ๋ง์ง๋ง ํผ์ฐ์ฐ์์ ํ๊ฐ๊ฐ ๋๋๋ฉด ๋ง์ง๋ง ํผ์ฐ์ฐ์์ ํ๊ฐ๊ฒฐ๊ณผ๋ฅผ ๋ฐํ
๊ทธ๋ฃน ์ฐ์ฐ์
- ์๊ดํธ๋ก ํผ์ฐ์ฐ์๋ฅผ ๊ฐ์ธ๋ ๊ทธ๋ฃน ์ฐ์ฐ์๋ ์์ ์ ํผ์ฐ์ฐ์์ธ ํํ์์ ๊ฐ์ฅ ๋จผ์ ํ๊ฐ
- ์๊ดํธ ์ฐ์ฐ์๋ก ์ฐ์ ์์ ์กฐ์ ์ด ๊ฐ๋ฅํ๋ฉฐ, ์ฐ์ ์์๊ฐ ๊ฐ์ฅ ๋๋ค.
typeof ์ฐ์ฐ์
- typeof์ฐ์ฐ์๋ ํผ์ฐ์ฐ์์ ๋ฐ์ดํฐ ํ์ ์ ๋ฌธ์์ด๋ก ๋ณํ
- string, number, boolean, undefined, symbol, object, function
- null์ ๋ฐํํ๋ ๊ฒฝ์ฐ๋ ์์
- null์ ๋ฐํํ๋ฉด object๋ก ๋ฐํ
- ์๋ฐ์คํฌ๋ฆฝํธ์ ๋ฒ๊ทธ์ด๋ฉฐ ์์ ๋์ง ๋ชปํ๊ณ ์์
- nullํ์ ํ์ธํ ๋๋ ์ผ์น ์ฐ์ฐ์๋ฅผ ์ฌ์ฉ
- ์ ์ธํ์ง ์์ ์๋ณ์๋ฅผ typeof ์ฐ์ฐ์๋ก ์ฐ์ฐํ๋ฉด ReferenceError๋ฅผ ๋ฐ์ํ์ง ์๊ณ undefined ๋ฐํ
์ง์ ์ฐ์ฐ์
- ES7์์ ๋์
1
2
3
2**2; // 4
2**1; // 1
// ์ขํญ์ ๋ฐ, ์ฐํญ์ ์ง์
- ์ง์ ์ฐ์ฐ์ ๋์ ์ด์ ์๋ Math.pow๋ฉ์๋ ์ฌ์ฉ
1
2
Math.pow(2,2); // 4
Math.pow(2,0); // 1
- ์ง์ ์ฐ์ฐ์๋ ๋ฐ๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์์ Math.pow๋ฉ์๋ ๋ณด๋ค ๊ฐ๋ ์ฑ์ด ๋ ์ข์
1
2
2**2**2; //16
Math.pow(Math.pow(2,2),2); // 16
- ์์๋ฅผ ๊ฑฐ๋ญ์ ๊ณฑ์ ๋ฐ์ผ๋ก ์ฌ์ฉํด ๊ณ์ฐํ๋ ค๋ฉด ๊ดํธ๋ก ๋ฌถ์ด์ผ ํจ
- ์ง์ ์ฐ์ฐ์๋ ์ดํญ ์ฐ์ฐ์ ์ค์์ ์ฐ์ ์์๊ฐ ๊ฐ์ฅ ๋์
๊ทธ ์ธ์ ์ฐ์ฐ์
- ?.(์ต์ ๋ ์ฒด์ด๋ ์ฐ์ฐ์)
- ??(null ๋ณํฉ ์ฐ์ฐ์)
- delate(ํ๋กํผํฐ ์ญ์ )
- new(์์ฑ์ ํจ์๋ฅผ ํธ์ถํ ๋ ์ฌ์ฉํ์ฌ ์ธ์คํด์ค๋ฅผ ์์ฑ)
- instanceof(์ข๋ณ์ ๊ฐ์ฒด๊ฐ ์ฐ๋ณ์ ์์ฑ์ ํจ์์ ์ฐ๊ฒฐ๋ ์ธ์คํด์ค ์ธ์ง ํ๋ณ)
- in(ํ๋กํผํฐ ์กด์ฌ ํ์ธ)
์ฐ์ฐ์์ ๋ถ์ ํจ๊ณผ
- ์ผ๋ถ ์ฐ์ฐ์๋ ๋ค๋ฅธ ์ฝ๋์ ์ํฅ์ ์ฃผ๋ ๋ถ์ ํจ๊ณผ๊ฐ ์์
- ๋ถ์ ํจ๊ณผ๊ฐ ์๋ ์ฐ์ฐ์
- ํ ๋น ์ฐ์ฐ์(=)
- ์ฆ๊ฐ/๊ฐ์ ์ฐ์ฐ์(++/โ)
- delate ์ฐ์ฐ์
์ฐ์ฐ์ ์ฐ์ ์์
๋ชจ๋ ๊ธฐ์ตํ๊ธฐ ์ด๋ ต๊ธฐ ๋๋ฌธ์, ์ฐ์ฐ์ ์ฐ์ ์์๊ฐ ๊ฐ์ฅ ๋์ ๊ทธ๋ฃน ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ์ฐ์ ์์๋ฅผ ๋ช ์์ ์ผ๋ก ์กฐ์ ํ๋ ๊ฒ์ ๊ถ์ฅ
์ฐ์ ์์ ์ฐ์ฐ์ ์ค๋ช ๊ฒฐํฉ ๋ฐฉํฅ 1 () ๋ฌถ์(๊ดํธ) - 2 . ๋ฉค๋ฒ ์ ๊ทผ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ย new ์ธ์ ์๋ ๊ฐ์ฒด ์์ฑ - 3 () ํจ์ ํธ์ถ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ย new ์ธ์ ์๋ ๊ฐ์ฒด ์์ฑ ์ค๋ฅธ์ชฝ์์ ์ผ์ชฝ์ผ๋ก 4 ++ ํ์ ์ฆ๊ฐ ์ฐ์ฐ์ - ย โ ํ์ ๊ฐ์ ์ฐ์ฐ์ - 5 ! ๋ ผ๋ฆฌ NOT ์ฐ์ฐ์ ์ค๋ฅธ์ชฝ์์ ์ผ์ชฝ์ผ๋ก ย ~ ๋นํธ NOT ์ฐ์ฐ์ ์ค๋ฅธ์ชฝ์์ ์ผ์ชฝ์ผ๋ก ย + ์์ ๋ถํธ (๋จํญ ์ฐ์ฐ์) ์ค๋ฅธ์ชฝ์์ ์ผ์ชฝ์ผ๋ก ย - ์์ ๋ถํธ (๋จํญ ์ฐ์ฐ์) ์ค๋ฅธ์ชฝ์์ ์ผ์ชฝ์ผ๋ก ย ++ ์ ์ ์ฆ๊ฐ ์ฐ์ฐ์ ์ค๋ฅธ์ชฝ์์ ์ผ์ชฝ์ผ๋ก ย โ ์ ์ ๊ฐ์ ์ฐ์ฐ์ ์ค๋ฅธ์ชฝ์์ ์ผ์ชฝ์ผ๋ก ย typeof ํ์ ๋ฐํ ์ค๋ฅธ์ชฝ์์ ์ผ์ชฝ์ผ๋ก ย void undefined ๋ฐํ ์ค๋ฅธ์ชฝ์์ ์ผ์ชฝ์ผ๋ก ย delete ํ๋กํผํฐ์ ์ ๊ฑฐ ์ค๋ฅธ์ชฝ์์ ์ผ์ชฝ์ผ๋ก 6 ** ๊ฑฐ๋ญ์ ๊ณฑ ์ฐ์ฐ์ ์ค๋ฅธ์ชฝ์์ ์ผ์ชฝ์ผ๋ก ย * ๊ณฑ์ ์ฐ์ฐ์ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ย / ๋๋์ ์ฐ์ฐ์ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ย % ๋๋จธ์ง ์ฐ์ฐ์ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก 7 + ๋ง์ ์ฐ์ฐ์ (์ดํญ ์ฐ์ฐ์) ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ย - ๋บ์ ์ฐ์ฐ์ (์ดํญ ์ฐ์ฐ์) ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก 8 ยซ ๋นํธ ์ผ์ชฝ ์ํํธ ์ฐ์ฐ์ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ย ยป ๋ถํธ ๋นํธ๋ฅผ ํ์ฅํ๋ฉด์ ๋นํธ ์ค๋ฅธ์ชฝ ์ํํธ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ย ยป> ๋ถํธ ๋นํธ๋ฅผ ํ์ฅํ์ง ์๊ณ ๋นํธ ์ค๋ฅธ์ชฝ ์ํํธ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก 9 < ๊ด๊ณ ์ฐ์ฐ์(๋ณด๋ค ์์) ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ย <= ๊ด๊ณ ์ฐ์ฐ์(๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์) ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ย > ๊ด๊ณ ์ฐ์ฐ์(๋ณด๋ค ํฐ) ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ย >= ๊ด๊ณ ์ฐ์ฐ์(๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์) ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ย instanceof ์ธ์คํด์ค ์ฌ๋ถ ํ๋จ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก 10 == ๋๋ฑ ์ฐ์ฐ์ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ย === ์ผ์น ์ฐ์ฐ์ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ย != ๋ถ๋ฑ ์ฐ์ฐ์ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ย !== ๋ถ์ผ์น ์ฐ์ฐ์ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก 11 & ๋นํธ AND ์ฐ์ฐ์ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก 12 ^ ๋นํธ XOR ์ฐ์ฐ์ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก 13 | ๋นํธ OR ์ฐ์ฐ์ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก 14 && ๋ ผ๋ฆฌ AND ์ฐ์ฐ์ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก 15 || ๋ ผ๋ฆฌ OR ์ฐ์ฐ์ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก 16 ? : ์ผํญ ์ฐ์ฐ์ ์ค๋ฅธ์ชฝ์์ ์ผ์ชฝ์ผ๋ก 17 = ๋์ ์ฐ์ฐ์ (=, +=, -=, *=, /=, %=, ยซ=,ย ยป=,ย ยป>=, &=, ^=, |=) ์ค๋ฅธ์ชฝ์์ ์ผ์ชฝ์ผ๋ก 18 โฆ ์ ๊ฐ - 19 , ์ผํ ์ฐ์ฐ์ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ํ ์ถ์ฒ : tcpschool.com
์ฐ์ฐ์ ๊ฒฐํฉ ์์
- ์ฐ์ฐ์์ ์ด๋ ์ชฝ๋ถํฐ ํ๊ฐ๋ฅผ ์ํํ ๊ฒ์ธ์ง๋ฅผ ๋ํ๋ด๋ ์์๋ฅผ ์๋ฏธ
1
โ๏ธ ์ฝ์ ์๊ฐ
์ฐ์ฐ์ ์ค์์ ์ต์ ๋ ์ฒด์ด๋์ด๋ผ๋ ์ฐ์ฐ์๊ฐ ์ ์ผ ํฅ๋ฏธ๋ก์ ๋ค. ์ต์ ๋ ์ฒด์ด๋์ ES2020์ ๋ฑ์ฅํ ์ ์ฐ์ฐ์์ธ๋ฐ,
?.
์ ํํ๋ก ์ฌ์ฉํ์ฌ ์ฒด์ธ์ผ๋ก ์ด๋ฃจ์ด์ง ๊ฐ ์ฐธ์กฐ๊ฐ ์ ํจํ์ง ๋ช ์์ ์ผ๋ก ๊ฒ์ฆํ์ง ์๊ณ ์ฐ๊ฒฐ๋ ์ฒด์ธ ๋ด ๊น์ํ ์์นํ ์์ฑ ๊ฐ์ ์ฝ์ ์ ์๋ ์ฐ์ฐ์์ด๋ค. ์ฒด์ด๋ ์ฐ์ฐ์์ ๋น์ทํ๊ฒ ๋์ํ๋ค๊ณ ํ์ง๋ง, ์ฐธ์กฐ๊ฐNull
์ด๋Undefined
์ด๋ผ๋ ์๋ฌ๊ฐ ๋ฐ์ํ์ง ์๊ณUndefined
๊ฐ์ ๋ฆฌํดํ๋ค. ์ด ์ต์ ๋ ์ฒด์ด๋์ ์ฐ๊ณ ์์ฐ๊ณ ์ฐจ์ด๊ฐ ๊ฝค ์ปธ๋๊ฑธ๋ก ๊ธฐ์ต์ด ๋๋ค. ์ฝ๋๊ฐ ๊ฐ๊ฒฐํด ์ง๊ธฐ ๋๋ฌธ์ด๋ค.
1
โ ๊ถ๊ธํ ๋ด์ฉ์ด๋ ์ ์ดํด๋์ง ์๋ ๋ด์ฉ
- ์์