javascript

javascript

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ œ๋„ค๋ ˆ์ดํ„ฐ

## Generator ์ œ๋„ค๋ ˆ์ดํ„ฐ์˜ ๊ฐœ๋…์— ๋Œ€ํ•ด ์ดํ•ดํ•˜๊ธฐ ์ „์—, ๋จผ์ € ๋ฐ˜๋ณต์ž (Iterator)์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž. ### 0. Iterator ๋ฐ˜๋ณต์ž๋Š”, ๋‘๊ฐœ์˜ ์†์„ฑ (`value`์™€ `done`)์„ ๋ฐ˜ํ™˜ํ•˜๋Š” `next()`๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ [Iterator protocal](https://developer.mozilla.org/en-US/docs/W...

Read
javascript

var let const, ๊ทธ๋ฆฌ๊ณ  ํ˜ธ์ด์ŠคํŒ…

## var let const, ๊ทธ๋ฆฌ๊ณ  ํ˜ธ์ด์ŠคํŒ… ### var ์šฐ๋ฆฌ๊ฐ€ ๋ชจ๋‘ ์•„๋Š” `var` ํ‚ค์›Œ๋“œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ํŠน์ง•์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. 1. ํ•จ์ˆ˜๋ ˆ๋ฒจ ์Šค์ฝ”ํ”„๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋“ค์ด ๋ธ”๋ก ๋ ˆ๋ฒจ ์Šค์ฝ”ํ”„๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์ง€๋งŒ, `var`๋กœ ์„ ์–ธ๋œ ํ‚ค์›Œ๋“œ๋Š” ํ•จ์ˆ˜๋ ˆ๋ฒจ ์Šค์ฝ”ํ”„๋ฅผ ๊ฐ–๋Š”๋‹ค. ```javascript var ...

Read
javascript

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ

## ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ ### 0. ์„ค๋ช…์ž ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ์— ๋Œ€ํ•ด ์‹œ์ž‘ํ•˜๊ธฐ ์ „์—, ์„ค๋ช…์ž(Descriptor)์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž. ์„ค๋ช…์ž๋ž€, ๊ฐ์ฒด์˜ ํ”„๋กœํผํ‹ฐ๊ฐ€ ์“ฐ๊ธฐ๊ฐ€ ๊ฐ€๋Šฅํ•œ์ง€, ๊ทธ๋ฆฌ๊ณ  ์—ด๊ฑฐ๊ฐ€ ๊ฐ€๋Šฅํ•œ์ง€ ์—ฌ๋ถ€๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์„ค๋ช…์ž๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š”, [Object.getOwnPropertyDescriptor(obj, propName)](https://develo...

Read
javascript

javascript ์ผ๋ฐ˜ ํ•จ์ˆ˜์™€ ํ™”์‚ดํ‘œ ํ•จ์ˆ˜์˜ ์ฐจ์ด

ES6์—์„œ๋ถ€ํ„ฐ ์ƒ๊ธด `arrow function`์€ ์ผ๋ฐ˜์ ์œผ๋กœ `()=>{}`์˜ ๋ชจ์–‘์„ ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ๋™์ž‘๋„ ๋น„์Šทํ•ด๋ณด์ธ๋‹ค. ํ•˜์ง€๋งŒ ์ด ๋‘ ์„ ์–ธ๋ฐฉ์‹์€ ๋‘๊ฐ€์ง€ ๋ถ„๋ช…ํ•œ ์ฐจ์ด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ์ „์— this๋ฅผ ์•Œ์•„์•ผ ํ•œ๋‹ค.

Read

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ private

์ด ๊ธ€์€ [์€๋‹‰์„ ํ–ฅํ•œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ์—ฌ์ •](https://meetup.toast.com/posts/228)์„ ์š”์•ฝํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ## History ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ๋Š” ๊ฐ์ฒด์— private ํ•œ ์†์„ฑ์„ ๋งŒ๋“ค ์ˆ˜๊ฐ€ ์—†์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋ณดํ†ต ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐœ๋ฐœ์ž๋Š” privateํ•œ ๊ฒƒ์ด๋‹ค ๋ผ๋Š” ์•ฝ์†์œผ๋กœ `_` prefix๋ฅผ ๋ถ™์—ฌ์„œ ์‚ฌ์šฉํ•˜๊ณ ๋Š” ํ–ˆ์—ˆ๋‹ค. ```javas...

Read