- ์ฐ์ฐ์๋?
- ์ฐ์ฐ์๋ ํ๋ ์ด์์ ํํ์์ ๋์์ผ๋ก ์ฐ์ , ํ ๋น, ๋น๊ต, ๋ ผ๋ฆฌ, ํ์ , ์ง์ ์ฐ์ฐ ๋ฑ์ ์ํํ์ฌ ํ๋์ ๊ฐ์ ๋ง๋ ๋ค.
- ์ด๋ ์ฐ์ฐ์ ๋์์ ํผ์ฐ์ฐ์๋ผ ํ๋ค. ํผ์ฐ์ฐ์๋ ๊ฐ์ผ๋ก ํ๊ฐ๋ ์ ์๋ ํํ์ ์ด์ด์ผ ํ๋ค.
- ํผ์ฐ์ฐ์์ ์ฐ์ฐ์์ ์กฐํฉ์ผ๋ก ์ด๋ค์ง ์ฐ์ฐ์ ํํ์๋ ๊ฐ์ผ๋ก ํ๊ฐ๋ ์ ์๋ ํํ์์ด๋ค.
- ex) ํํ์์ด๋? ๊ฐ์ผ๋ก ํ๊ฐ๋ ์ ์๋ ๋ฌธ์ ๋งํ๋ค.
- ์ฐ์ ์ฐ์ฐ์
- ์ฐ์ ์ฐ์ฐ์๋ ํผ์ฐ์ฐ์๋ฅผ ๋์์ผ๋ก ์ํ์ ๊ณ์ฐ์ ์ํํด ์๋ก์ด ์ซ์ ๊ฐ์ ๋ง๋ ๋ค.
- ์ฐ์ ์ฐ์ฐ์ด ๋ถ๊ฐ๋ฅํ ๊ฒฝ์ฐ NaN์ ๋ฐํํ๋ค. (Not a Number)
- ์ฐ์ ์ฐ์ฐ์๋ ํผ์ฐ์ฐ์์ ๊ฐ์์ ๋ฐ๋ผ ์ดํญ ์ฐ์ ์ฐ์ฐ์, ๋จํญ ์ฐ์ ์ฐ์ฐ์๋ก ๊ตฌ๋ถํ๋ค.
์ดํญ ์ฐ์ ์ฐ์ฐ์
- 2๊ฐ์ ํผ์ฐ์ฐ์๋ฅผ ์ฐ์ ์ฐ์ฐํ์ฌ ๊ฐ์ ๋ง๋ ๋ค.
- ์ดํญ ์ฐ์ ์ฐ์ฐ์๋ ์ฌ์ด๋ ์ดํํธ๊ฐ ์๋ค. ( ์ด๋ค ์ดํญ ์ฐ์ ์ฐ์ฐ์๋ ํผ์ฐ์ฐ์์ ๊ฐ์ ๋ณ๊ฒฝํ์ง ์์.)
5 + 2; // 7
5 - 2; // 3
5 * 2; // 10
5 / 2; // 2.5
5 % 2; // 1
๋จํญ ์ฐ์ ์ฐ์ฐ์
- 1๊ฐ์ ํผ์ฐ์ฐ์๋ฅผ ์ฐ์ ์ฐ์ฐํ์ฌ ์ซ์ ๊ฐ์ ๋ง๋ ๋ค.
- ํผ์ฐ์ฐ์์ ๊ฐ์ ๋ณ๊ฒฝํ๋ ์ฌ์ด๋ ์ดํํธ๊ฐ ์๋ค. ( +, - ์ ์ธ)
- ์ฆ๊ฐ/๊ฐ์ ์ฐ์ฐ์๋ ์์น์ ๋ฐ๋ผ ์ฐ์ฐ์ ์ํํ๋ ๊ฐ์ด ๋ฌ๋ผ์ง ์ ์๋ค.
let x = 5;
let result;
// ํ ๋น์ ํ๊ณ ํ์ x์ ๊ฐ์ด ์ฆ๊ฐํ๋ค.
result = x++;
console.log(result, x); // 5, 6
// ์ฆ๊ฐ ํ ํ ๋นํ๋ค.
result = ++x;
console.log(result, x); // 7, 7
// ๊ฐ์ ์ฐ์ฐ์๋ ๋์ผํ๋ค.
// +,- ๋จํญ ์ฐ์ฐ์๋ฅผ ์ด์ฉํ ํ์
๋ณ๊ฒฝ
+"10" === 10 // true
-"10" === -10 // true
+true; // 1;
-false // -0
+'hello' // NaN ๋ฌธ์์ด์ ๋ณ๊ฒฝ๋ถ๊ฐ.
// -๋จํญ ์ฐ์ฐ์๋ฅผ ์ด์ฉํ ๋ถํธ ๋ฐ์
-(-10) // 10
- +, - ์ฐ์ฐ์์๋ ํผ์ฐ์ฐ์๋ฅผ ๋ณ๊ฒฝํ์ง๋ ์์ง๋ง ์ซ์ ํ์ ์ด ์๋ ํผ์ฐ์ฐ์์ +๋จํญ ์ฐ์ฐ์๋ฅผ ์ด์ฉํ๋ฉด ์ซ์ ํ์ ์ผ๋ก ๋ณ๊ฒฝ๋๊ณ -๋จํญ ์ฐ์ฐ์๋ฅผ ์ด์ฉํ๋ฉด ํผ์ฐ์ฐ์์ ๋ถํธ๋ฅผ ๋ฐ์ ํ ์ ์๋ค.
- ์ด๋ ํผ์ฐ์ฐ์๋ฅผ ๋ณ๊ฒฝํ๋๊ฑด ์๋๊ณ ์ซ์ ํ์ ์ผ๋ก ๋ณํํ ๊ฐ์ ์์ฑํด์ ๋ฐํํ๋ ๊ฒ ์ด๊ธฐ์ ์ฌ์ด๋ ์ดํํธ๋ ์๋ค.
๋ฌธ์์ด ์ฐ๊ฒฐ ์ฐ์ฐ์
- + ์ฐ์ฐ์๋ ํผ์ฐ์ฐ์ ์ค ํ๋ ์ด์์ด ๋ฌธ์์ด์ธ ๊ฒฝ์ฐ ๋ฌธ์์ด ์ฐ๊ฒฐ ์ฐ์ฐ์๋ก ๋์ํ๋ค.
// ๋ฌธ์์ด ์ฐ๊ฒฐ
'1' + 2; // '12'
// ์ฐ์ ์ฐ์ฐ
1 + 2; // 3
- ์ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด ๊ฐ๋ฐ์์ ์๋์๋ ์๊ด์์ด ์๋์ผ๋ก ํ์ ์ด ๋ณํ ๋๋๋ฐ ์ด๋ฅผ ์๋ฌต์ ํ์ ๋ณํ ๋๋ ํ์ ๊ฐ์ ๋ณํ์ด๋ผ๊ณ ํ๋ค.
- ํ ๋น ์ฐ์ฐ์
- ํ ๋น ์ฐ์ฐ์๋ ์ฐํญ์ ์๋ ํผ์ฐ์ฐ์์ ํ๊ฐ ๊ฒฐ๊ณผ๋ฅผ ์ขํญ์ ์๋ ๋ณ์์ ํ ๋นํ๋ค.
- ์ขํญ์ ๋ณ์์ ๊ฐ์ ํ ๋นํ์ฌ ๋ณ๊ฒฝํ๋ฏ๋ก ์ฌ์ด๋ ์ดํํธ๊ฐ ์ผ์ด๋๋ค๊ณ ํ ์ ์๋ค.
let x;
x = 10;
console.log(x); // 10
x += 5;
console.log(x); // 15
x -= 5;
console.log(x); // 10
// ๋ฌธ์์ด ์ฐ๊ฒฐ
let y = 'name:';
y += 'YunCow';
console.log(y); // 'name:YunCow'
- ํ ๋น์ ์ฐ์ธก์์ ์ข์ธก์ผ๋ก ์ด๋ฃจ์ด์ง๊ณ ํผ์ฐ์ฐ์๊ฐ ๋ ๋ง๋คํ๋ค ์ ์ผ ์ฐ์ธก์์ ์ข์ธก์ผ๋ก ์ด๋ฃจ์ด์ง๋ค.
- ํ ๋น ๋ฌธ ๋ํ ๊ฐ์ผ๋ก ํ๊ฐ๋๋ ํํ์์ด๋ค.
- ๋น๊ต ์ฐ์ฐ์
- ๋น๊ต ์ฐ์ฐ์๋ ์ขํญ๊ณผ ์ฐํญ์ ํผ์ฐ์ฐ์๋ฅผ ๋น๊ตํด ๊ฒฐ๊ณผ๋ฅผ ๋ถ๋ฆฌ์ธ ๊ฐ(true, false)์ผ๋ก ๋ฐํํ๋ค. (if, for๋ฌธ์์ ์์ฃผ ์ฌ์ฉ)
๋๋ฑ/์ผ์น ๋น๊ต ์ฐ์ฐ์
// ๋๋ฑ ๋น๊ต ์ฐ์ฐ์ ํ์
์ ์๋ฌต์ ํ์
๋ณํ์ผ๋ก true
5 == '5'; // true
// ์ผ์น ๋น๊ต ์ฐ์ฐ์ ์๋ฌต์ ํ์
๋ณํ์ ํ์ฉํ์ง ์์ false
5 === '5'; // false
// ์์ ๊ณผ ์ผ์นํ์ง ์๋ ์ ์ผํ ๊ฐ NaN
NaN === NaN; // false
// ์์ 0 ๊ณผ ์์ 0 ์ ์ผ์นํ๋ค๊ณ ์๋ฐ์คํฌ๋ฆฝํธ๋ ํ๊ฐํ๋ค.
0 === -0; // true
// ๋ถ๋๋ฑ ๋น๊ต ์ฐ์ฐ์ ๋ ํผ์ฐ์ฐ์๊ฐ ๋ค๋ฅด๋ฉด true ๊ฐ์ผ๋ฉด false
5 != 8; // true
5 != 5; // false
5 != '5';
// ๋ถ์ผ์น ๋น๊ต ํ์
์ด ๋ค๋ฅธ๊ฒ๋ ๋ถ์ผ์น๋ก ํ๋จํ๋ค.
5 !== 8; // true
5 !== 5; // false
5 !== '5'; // true
- ๋๋ฑ ๋น๊ต์ ๋ถ๋๋ฑ ๋น๊ต๋ ์์ธกํ๊ธฐ ์ด๋ ต๊ณ ์๋ฌต์ ํ์ ๋ณํ์ผ๋ก ์ธํด ์ค์ํ ๊ฐ๋ฅ์ฑ์ด ํฌ๋ค. ์ฌ์ฉ์ ์ง์ํ๊ณ ์ผ์น ๋น๊ต์ ๋ถ์ผ์น ๋น๊ต ์ฐ์ฐ์๋ก ์ฌ์ฉํ์.
๋์ ๊ด๊ณ ๋น๊ต ์ฐ์ฐ์
- ์ผํญ ์กฐ๊ฑด ์ฐ์ฐ์
- ์กฐ๊ฑด์์ ํ๊ฐ ๊ฒฐ๊ณผ์ ๋ฐ๋ผ ๋ฐํํ ๊ฐ์ ๊ฒฐ์ .
- ์ฌ์ด๋ ์ดํํธ๋ ์๋ค.
//
const result = 100;
// ์กฐ๊ฑด์ true false
console.log(result < 200 ? '๋ง๋ค' : 'ํ๋ฆฌ๋ค'); // '๋ง๋ค'
- ํผ์ฐ์ฐ์๊ฐ true๋ฉด ๋ ๋ฒ์งธ ํผ์ฐ์ฐ์๋ฅผ ๋ฐํํ๊ณ false๋ฉด ์ธ ๋ฒ์งธ ํผ์ฐ์ฐ์๋ฅผ ๋ฐํํ๋ค.
- if else ๋ฌธ์ ์ฌ์ฉํ๋ ๊ฒ๊ณผ ์ ์ฌํ์ง๋ง if else๋ฌธ์ ํํ์์ด ์๋๊ธฐ์ ๊ฐ์ฒ๋ผ ์ฌ์ฉํ ์ ์๋ค.
- ๋ ผ๋ฆฌ ์ฐ์ฐ์
- ๋ ผ๋ฆฌ ์ฐ์ฐ์๋ ์ฐํญ๊ณผ ์ขํญ์ ํผ์ฐ์ฐ์๋ฅผ ๋ ผ๋ฆฌ์ฐ์ฐ ํ๋ค.
- ๋ ผ๋ฆฌ ๋ถ์ ์ฐ์ฐ์๋ ํญ์ ๋ถ๋ฆฌ์ธ ๊ฐ์ ๋ฐํํ๋ค.
- ๋ ผ๋ฆฌํฉ, ๋ ผ๋ฆฌ๊ณฑ ์ฐ์ฐ์ ํํ์์ ๋ฐํ ๊ฐ์ ๋ถ๋ฆฌ์ธ ๊ฐ์ด ์๋ ์ ์๊ณ ํญ์ ๋ ๊ฐ์ ํผ์ฐ์ฐ์ ์ค ํ์ชฝ์ผ๋ก ํ๊ฐ๋๋ค.
// ๋
ผ๋ฆฌํฉ ์ฐ์ฐ์๋ ๋ ํผ์ฐ์ฐ์ ์ค ํ๋๋ง true์ฌ๋ true๋ฅผ ๋ฐํํ๋ค.
true || true; // true
true || false // true
false || true // true
false || false // true
// ๋
ผ๋ฆฌ๊ณฑ ์ฐ์ฐ์๋ ๋๊ฐ์ ํผ์ฐ์ฐ์ ๋ชจ๋ true์ฌ์ผ true๋ฅผ ๋ฐํํ๋ค.
true && true; // true
true && false; // false
false && true; // false
false && false; // false
// ๋
ผ๋ฆฌ ๋ถ์ ์ฐ์ฐ์๋ ํด๋นํ๋ ๋ถ๋ฆฌ์ธ ๊ฐ์ ๋ฐ๋๊ฐ์ ๋ฐํํ๋ค.
!true; // false
!false; // true
- ์ผํ ์ฐ์ฐ์
- ์ผํ ์ฐ์ฐ์๋ ์ผ์ชฝ ํผ์ฐ์ฐ์๋ถํฐ ์ฐจ๋ก๋๋ก ํผ์ฐ์ฐ์๋ฅผ ํ๊ฐํ๊ณ ๋ง์ง๋ง ํผ์ฐ์ฐ์์ ํ๊ฐ๊ฐ ๋๋๋ฉด ๋ง์ง๋ง ํผ์ฐ์ฐ์์ ํ๊ฐ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ค.
let x,y,z;
x = 1, y = 2, z = 3; // 3
- ๊ทธ๋ฃน ์ฐ์ฐ์
- ์๊ดํธ()๋ก ํผ์ฐ์ฐ์๋ฅผ ๊ฐ์ธ๋ ๊ทธ๋ฃน ์ฐ์ฐ์๋ ๊ฐ์ฅ ๋จผ์ ํํ์์ ํ๊ฐํ๋ค. (์ฐ์ ์์ ์กฐ์ )
// 10 * 2 ์ฐ์ฐ ํ 20 + 3 ์ฐ์ฐ ์ํ๊ณผ ๋์ผ.
10 * 2 + 3 // 23
// ๊ทธ๋ฃน ์ฐ์ฐ์ ์ฐ์ ์ฐ์ฐ ํ ๋๋จธ์ง ์ฐ์ฐ
10 * (2 + 3); // 50
- typeof ์ฐ์ฐ์
- null ๊ฐ์ object๋ฅผ ๋ฐํํ๋๋ฐ ์ด๊ฑด ์๋ฐ์คํฌ๋ฆฝํธ์ ๋ฒ๊ทธ์ด๊ณ ๊ธฐ์กด ์ฝ๋์ ์ํฅ์ด ์ค ์ ์๊ธฐ์ ์์ ํ์ง ๋ชปํ๊ณ ์๋ค.
- null ํ์ ์ ํ์ธํ ๋๋ typeof ์ฐ์ฐ์๊ฐ ์๋ ์ผ์น ์ฐ์ฐ์(===)๋ฅผ ์ด์ฉํ์.
- ์ ์ธํ์ง ์์ ์๋ณ์๋ undefined๋ฅผ ๋ฐํํ๋ค.
- ์ง์ ์ฐ์ฐ์
- ES7์์ ๋์ ๋์ผ๋ฉฐ ์ขํญ์ ํผ์ฐ์ฐ์๋ฅผ ์ฐํญ์ ํผ์ฐ์ฐ์๋ก ๊ฑฐ๋ญ์ ๊ณฑํ๋ค.
- ๋น์ทํ ๋ฉ์๋๋ก Math.pow ๊ฐ ์๋ค. (๊ฐ๋ ์ฑ์์ ์ง์ ์ฐ์ฐ์๊ฐ ์ฐ์)
- ์ดํญ ์ฐ์ฐ์ ์ค ์ฐ์ ์์๊ฐ ๊ฐ~์ฅ ๋๋ค.
2 ** 2 // 4
// ์์๋ ์๊ดํธ๋ก ๋ฌถ์ด์ค์ผ ํ๋ค.
(-5) ** 2; // 25
// ์ง์ ์ฐ์ฐ์๋ ์ฐ์ธก์์๋ถํฐ ์ฐ์ฐ์ ํ๊ธฐ์ 2^18 ์ด ๋์ด 512๋ฅผ ๋ฐํํ๋ค.
2 * 3 * 2; // 512
// ๊ทธ๋ฃน์ผ๋ก ๋ฌถ์ด์ฃผ๋ฉด ๊ฐ๋ฅ
(2 * 3) * 2; // 64
- ๊ทธ ์ธ์ ์ฐ์ฐ์
- ํด๋น ๋ถ๋ถ์ด ์ค๋ฉด ์์ธํ ์ฐพ์๋ณด์ ( ๋งํฌ ์ถ๊ฐ ์์ )
- ์ฐ์ฐ์์ ๋ถ์ ํจ๊ณผ
- ํ ๋น ์ฐ์ฐ์(=), ์ฆ๊ฐ ์ฐ์ฐ์(++/--), delete ์ฐ์ฐ์๋ ์ฌ์ด๋ ์ดํํธ(๋ถ์ํจ๊ณผ)๋ฅผ ๊ฐ์ง๋ค.
- ์๋ฐ์คํฌ๋ฆฝํธ ์์์ ์ฌ์ด๋ ์ดํํธ๋ ๋ค๋ฅธ ์ฝ๋์ ์ํฅ์ ์ฃผ๋ ๊ฑธ ๋งํ๋ค. (๋ณ์์ ๊ฐ์ ํ ๋นํ๋ฉด ๋ณ์์ ๊ฐ์ด ๋ณ๊ฒฝ)
- delete ์ฐ์ฐ์๋ ๊ฐ์ฒด์ ํ๋กํผํฐ๋ฅผ ์ญ์ ํ๋ ์ฌ์ด๋ ์ดํํธ๊ฐ ์๋ค.
- ์ฐ์ฐ์ ์ฐ์ ์์
- ์ฐ์ฐ์ ์ฐ์ ์์๋ ์ฌ๋ฌ ์ฐ์ฐ์๋ก ์ด๋ค์ง ๋ฌธ์ด ์คํ๋ ๋ ์ฐ์ฐ์๊ฐ ์คํ๋๋ ์์๋ฅผ ๋งํ๋ค.
- ๋ณด๋ค์ํผ ์ข ๋ฅ๊ฐ ๊ต์ฅํ ๋ง๋ค. ๋ชจ๋ ์ธ์ฐ๊ธฐ๋ ์ด๋ ค์์ผ๋ก ๊ทธ๋ฃน ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํด ๋ช ์์ ์ผ๋ก ์ฐ์ ์์๋ฅผ ์กฐ์ ํ๋ ์ต๊ด์ ๋ค์ด์.
- ์ฐ์ฐ์ ๊ฒฐํฉ ์์
- ์ฐ์ฐ์์ ์ด๋ ์ชฝ (์ข, ์ฐ)๋ถํฐ ํ๊ฐ๋ฅผ ์ํํ ๊ฒ์ธ์ง๋ฅผ ๋ํ๋ด๋ ์์๋ค.
'Deep Dive ์ ๋ณต๊ธฐ๐ฉ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Deep Dive ๊ธฐ๋ก ์ค์ง (0) | 2022.10.20 |
---|---|
Deep Dive - 6 (๋ฐ์ดํฐ ํ์ ) (0) | 2022.09.17 |
Deep Dive -5 (2) | 2022.08.24 |
Deep Dive -4 (์๋ณ์) (0) | 2022.08.23 |
Deep Dive -3 (var) (0) | 2022.08.22 |