TIL(17)

codedotยท2021๋…„ 7์›” 1์ผ

๐Ÿ’ป Today

1. ์ฝ”๋“œ์Šคํ…Œ์ด์ธ 

  • JS ํ•ต์‹ฌ ๊ฐœ๋…๊ณผ ์ฃผ์š” ๋ฌธ๋ฒ•

2. ํ•™์Šต

  • ์›์‹œ ์ž๋ฃŒํ˜•, ์ฐธ์กฐ ์ž๋ฃŒํ˜•
  • ์Šค์ฝ”ํ”„
  • ํด๋กœ์ €

์Šค์ฝ”ํ”„

  • ์•ˆ์ชฝ ์Šค์ฝ”ํ”„์—์„œ ๋ฐ”๊นฅ์ชฝ ์Šค์ฝ”ํ”„๋Š” ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๋ฐ˜๋Œ€๋Š” ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

  • ์Šค์ฝ”ํ”„๋Š” ์ค‘์ฒฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

    ์ง€์—ญ ๋ณ€์ˆ˜๋Š” ์ „์—ญ๋ณ€์ˆ˜๋ณด๋‹ค ๋” ๋†’์€ ์šฐ์„  ์ˆœ์œ„๋ฅผ ๊ฐ€์ง„๋‹ค.


์Šค์ฝ”ํ”„์˜ ์ข…๋ฅ˜

์ค‘๊ด„ํ˜ธ๋กœ ๋‘˜๋Ÿฌ์‹ผ ๋ฒ”์œ„(block scope: ๋ธ”๋ก ์Šค์ฝ”ํ”„): ์ค‘๊ด„ํ˜ธ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ฒ”์œ„ ๊ตฌ๋ถ„

โ– ํ™”์‚ดํ‘œ ํ•จ์ˆ˜๋กœ ๋‘˜๋Ÿฌ์‹ผ ๋ฒ”์œ„์˜ ๊ฒฝ์šฐ ํ•จ์ˆ˜ ์Šค์ฝ”ํ”„๊ฐ€ ์•„๋‹Œ ๋ธ”๋ก ์Šค์ฝ”ํ”„!!

ํ•จ์ˆ˜๋กœ ๋‘˜๋Ÿฌ์‹ผ ๋ฒ”์œ„(function scope: ํ•จ์ˆ˜ ์Šค์ฝ”ํ”„): ํ•จ์ˆ˜์„ ์–ธ์‹ ๋ฐ ํ•จ์ˆ˜ ํ‘œํ˜„์‹ ๋ฒ”์œ„ ๊ตฌ๋ถ„


var ํ‚ค์›Œ๋“œ์™€ let ํ‚ค์›Œ๋“œ

var ํ‚ค์›Œ๋“œ๋Š” ๋ธ”๋ก ์Šค์ฝ”ํ”„๋ฅผ ๋ฌด์‹œํ•˜๊ณ , ํ•จ์ˆ˜ ์Šค์ฝ”ํ”„๋งŒ ๋”ฐ๋ฅธ๋‹ค.

๋ธ”๋ก ๋‹จ์œ„๋กœ ์Šค์ฝ”ํ”„๋ฅผ ๊ตฌ๋ถ„ํ–ˆ์„ ๋•Œ, ํ›จ์”ฌ ๋” ์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ let ํ‚ค์›Œ๋“œ ์‚ฌ์šฉ์ด ๊ถŒ์žฅ๋จ

var๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค ํ•ด๋„, ํ•จ์ˆ˜ ์Šค์ฝ”ํ”„๋Š” let์œผ๋กœ ์„ ์–ธ๋œ ๋ณ€์ˆ˜์˜ ์ ‘๊ทผ ๋ฒ”์œ„๋ฅผ ์ œํ•œํ•œ๋‹ค.

let ํ‚ค์›Œ๋“œ๋Š” ์žฌ์„ ์–ธ์„ ๋ฐฉ์ง€ var ์‚ฌ์šฉx


const(์ƒ์ˆ˜)

let ํ‚ค์›Œ๋“œ์™€ ๋™์ผํ•˜๊ฒŒ ๋ธ”๋ก ์Šค์ฝ”ํ”„๋ฅผ ๋”ฐ๋ฅธ๋‹ค.

๊ฐ’์˜ ๋ณ€๊ฒฝ์„ ์ตœ์†Œํ™”ํ•˜์—ฌ ๋ณด๋‹ค ์•ˆ์ „ํ•œ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

๊ฐ’์„ ์ƒˆ๋กญ๊ฒŒ ํ• ๋‹นํ•  ์ผ์ด ์—†๋‹ค๋ฉด, constํ‚ค์›Œ๋“œ ์‚ฌ์šฉ

TypeError : const๊ฐ’์— ์žฌํ• ๋‹น ๊ฒฝ์šฐ ์—๋Ÿฌ ๋ฐœ์ƒ


closure(ํด๋กœ์ €)

์™ธ๋ถ€ ํ•จ์ˆ˜์˜ ๋ณ€์ˆ˜์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ๋‚ด๋ถ€ํ•จ์ˆ˜

profile
Loding...

0๊ฐœ์˜ ๋Œ“๊ธ€