let
const - ๋ธ๋ก ๋จ์ ์ค์ฝํ, TDZ => ์์ ํ๊ฒ ์ฝ๋๋ฅผ ์์ฑ
var - ํจ์ ์ค์ฝํ
![]() |
![]() |
var๋ ์ฌํ ๋น , ์ฌ์ ์ธ(์ค๋ณต์ ์ธ)์ด ๊ฐ๋ฅํ๋ค. => ์ํํ๋ค.
![]() |
![]() |
![]() let์ ์ฌํ ๋น์ ๊ฐ๋ฅํ์ง๋ง |
![]() |
<- ํด๋น์ฝ๋์์
์ ์ญ ๊ณต๊ฐ์ ์๋ ์ค์ฝํ๊น์ง
์ค์ผ์ด ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
์ด์ : if๋ฌธ์ด๊ธฐ ๋๋ฌธ์!
var๋ ํจ์๋จ์
if๋ฌธ์ ํจ์๊ฐ ์๋๊ธฐ๋๋ฌธ์ ์ค์ผ์ด ๋๋ค.
=> ๋ธ๋ก ๋จ์๋ก ๋ฐ๊พธ์ด ์ค์ผ์ ๋ฐฉ์ง! ์์ ํ ์ฝ๋์์ฑ
![]() |
![]() |
=> const๋ ์ฌํ ๋น๋ง ๊ธ์ง๋๋ค. ๋ณธ์ฐ์ ๊ฐ์ฒด, ๋ฐฐ์ด๊ฐ์ ๋ ํผ๋ฐ์ค ๊ฐ์ฒด๋ค์ ์กฐ์ํ ์ ์๋ค!
์๋ฐ์คํฌ๋ฆฝํธ์ ํน์ฑ!
1. ์๋ฐ์คํฌ๋ฆฝํธ์์๋ ํ์ผ์ ๋๋๋ค๊ณ ํด์ ์ค์ฝํ๊ฐ ๋๋์ง ์์ต๋๋ค.
2. ์์ฝ์ด๋ฅผ ์ฌ์ ์ธํด๋ ์ค๋ฅ๊ฐ ๋์ง ์์ต๋๋ค.
๋ธ๋ผ์ฐ์ ์นapi์ด๊ธฐ๋๋ฌธ์ ์๋ฐ์คํฌ๋ฆฝํธ๋ก ์ฝ๋ฉ์ ํ๋ ์ฝ๋๋ฅผ ์์ฑํ๋ ๋จ๊ณ์์๋ ๊ฐ์ ์ด ์๋ค.
3. for๋ฌธ์์ var๋ฅผ ์ฌ์ฉํ ๋, ์์์ ์ธ ๋ณ์์ด์ง๋ง ์ ์ญ๋ณ์๋ก ์ ์ธ๋๋ค. (var ํจ์๋จ์์ด๊ธฐ๋๋ฌธ..)
Q. ๊ทธ๋ ๋ค๋ฉด ์ ์ ์ญ ๊ณต๊ฐ์ ์ฌ์ฉํ๋ฉด ์๋ ๊น? ์ ์ต์ํํด์ ์ฌ์ฉํด์ผ ๋ ๊น?
์ด์ :
์ ์ญ๊ณต๊ฐ(์ต์์๊ณต๊ฐ) : global(node.js), window(๋ธ๋ผ์ฐ์ ํ๊ฒฝ)๋ก ๋๋ ์ ธ ์์ต๋๋ค.
A. ์ด๋์๋ ์ ๊ทผ์ด ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์, ์ค์ฝํ ๋ถ๋ฆฌ๊ฐ ์ํํ๊ธฐ ๋๋ฌธ์
๊ทธ๋ฌ๋ฏ๋ก ์ฐ๋ฆฌ๋
1. ์ ์ญ๋ณ์ x , ์ง์ญ๋ณ์๋ฅผ ์ฌ์ฉํ๊ณ
2. window, global์ ์กฐ์ํ์ง ์์ผ๋ฉฐ
3. const, let์ ์ฌ์ฉํ๊ณ
4. IIFE, Module, Closure๋ฅผ ํตํด ์ค์ฝํ๋ฅผ ๋๋๊ธฐ
์์๋ณ์
: scope ์์์ ์ ์ญ๋ณ์์ฒ๋ผ ํ์ฉ๋๋ ๋ณ์ -> ์์ ๋ ์ํ์ด ์์
์๋ชป๋ ์ : ![]() |
์ฌ๋ฐ๋ฅธ ์:![]() |
์์๋ณ์๋ฅผ ๋ง๋ค๊ณ ๋์ ์์๋ณ์๋ฅผ ํตํด์ CRUD ์ ํน์ ๋น ์ง๊ฒ ๋๋ค.
์์ ํจ์์ ๊ฒฝ์ฐ ์๋ช ์ฃผ๊ธฐ๊ฐ ๊ฐ๋จํ๊ธฐ ๋๋ฌธ์, ๋ฐ๋ก ๋ฐํํ๋ ๋ฐฉ๋ฒ์ผ๋ก ์์๋ณ์๋ฅผ ์ ๊ฑฐํ๋ค.
๋ง์ฝ ์ถ๊ฐ ๊ธฐ๋ฅ ๊ตฌํ์ด ํ์ํ ๋(๊ธฐํ, ๋ง์ผํ ์์ ๋ฑ)๊ฐ ์๋ค.
์ด๋ A. ํจ์๋ฅผ ์ถ๊ฐ๋ก ์์ฑํ๋? B. ํจ์๋ฅผ ์ ์ง๋ณด์ํ๋? ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์๋ค.
์๋ ์ฝ๋๋ ์๊ฐ๊ณผ ํจ๊ป ๋ฌธ์์ด '์, ์ผ, ์' ๋ฅผ ํ์ํ๋๋ก ์ ๋ฐ์ดํธํ ์ฝ๋์ด๋ค.
๊ตฌ๋ฒ์ :![]() |
์ ๋ฒ์ :![]() |
์์๋ณ์๋ฅผ ์ ๊ฑฐํด์ผํ๋ ์ด์ 1. ๋ช ๋ นํ์ผ๋ก ๊ฐ๋ํ ๋ก์ง 2. ์ด๋์ ์ด๋ป๊ฒ ์๋ชป๋ฌ๋์ง ์๊ธฐ ์ด๋ ค์(๋๋ฒ๊น ์ด ํ๋ฆ) 3. ์ถ๊ฐ์ ์ธ ์ฝ๋๋ฅผ ์์ฑํ๋๋ก ์ ํนํจ - "ํจ์๋ ํ๋์ ์ผ๋ง!" ๊ท์น์ ์๋ฐฐ๋จ. => ์ ์ง๋ณด์๊ฐ ์ด๋ ค์์ง๊ธฐ๋๋ฌธ! |
ํด๊ฒฐ์ฑ
1. ํจ์๋ฅผ ๋๋๊ธฐ - "ํจ์๋ ํ๋์ ์ผ๋ง!" 2. ๋ฐ๋ก ๋ฐํํ๊ธฐ 3. ๊ณ ์ฐจํจ์ ์ฌ์ฉํ๊ธฐ(map, filter, reduce) |
๊ธฐ์กด![]() |
ํด๋ฆฐ์ฝ๋![]() |
ํธ์ด์คํ ์ ์ฃผ์ํ์!
![]() |
<- ์์ ์ฝ๋๋ฅผ ํ์ด์ ์ด ๊ฒ![]() var๋ ํจ์ ์ค์ฝํ! ์ ์ธ์ ์ ๋ฏธ๋ฆฌ ํ ๋น์ ํ๊ธฐ๋๋ฌธ์ 'undefined' ์ถ๋ ฅ |
๋ณ์ ๊ทธ๋ฆฌ๊ณ ํจ์๋ ํธ์ด์คํ ๋๋ค!
var sum;
console.log(sum) // 3
console.log(typeof sum) // function
function sum(){
return 1+2;
}
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ var๋ณด๋จ const๋ก ์์ฑํด์ผํ๋ค.
ํจ์ํํ์ : ์ต๋ช ํจ์๋ฅผ ํ๋ ๋ง๋ค์ด ๋ณ์์ ํ ๋นํ๋ ๊ฒ
ex ) const sum = function (){
ใใใreturn 1+2;
}
ํธ์ด์คํ : ๋ฐํ์์ ์ ์ธ์ด ์ต์๋จ์ผ๋ก ๋์ด์ฌ๋ ค์ง.
๊ทธ๋ ๊ธฐ๋๋ฌธ์ ์ฝ๋๋ฅผ ์์ฑํ ๋ ์์ธกํ์ง ๋ชปํ ๋ฌธ์ (๋ชฝํคํจ์น)๋ก ์ด๋ ค์์ ๊ฒช๋๋ค.
ํด๊ฒฐ๋ฐฉ๋ฒ : let, const๋ก ๋ณ์๋ฅผ ์ ์ธํ์, ๋ํ ํจ์๋ ํธ์ด์คํ ์ด ๋๊ธฐ๋๋ฌธ์ ํจ์ ํํ์์ผ๋ก ์์ฑํ๋ ๊ฒ์ด ์ข๋ค!