22.08.24 ์์ตํ๋ฉฐ ๊ณต๋ถํ ๋ด์ฉ๋ค์ ์ ๋ฆฌํ์์ต๋๋ค ๐
ํผ๋๋ฐฑ์ ์ธ์ ๋ ํ์์
๋๋ค! ๐
Array method ๊ด๋ จ ํ ์ ๋ฆฌํ์๋๋ฐ, ์ ๋๋ก ์ฎ๊ฒจ์ง์ง ์์์ ๋ค์์ ์
๋ก๋ ํ ์ ์๋๋ก ํ๊ฒ ์ต๋๋ค!
๋ฉ์๋
- ES6 ์ฌ์์์ ๋ฉ์๋๋ ๋ฉ์๋ ์ถ์ฝ ํํ์ผ๋ก ์ ์๋ ํจ์๋ง์ ์๋ฏธ
- ์ธ์คํด์ค๋ฅผ ์์ฑํ ์ ์๋ none-constructor์.
- ์์ ์ ๋ฐ์ธ๋ฉํ ๊ฐ์ฒด๋ฅผ ๊ฐ๋ฆฌํค๋ ๋ด๋ถ์ฌ๋กฏ [[HomeObject]]๋ฅผ ๊ฐ์ง
ํ์ดํ ํจ์
- ํจ์ ์ ์ ํจ์ ํํ์์ผ๋ก ์ ์ํด์ผ ํจ. ํธ์ถ ๋ฐฉ์์ ๊ธฐ์กด ํจ์์ ๋์ผํจ
- ๋งค๊ฐ๋ณ์ ์ ์ธ ๋งค๊ฐ๋ณ์๊ฐ ์ฌ๋ฌ ๊ฐ์ธ ๊ฒฝ์ฐ, ์๊ดํธ () ์์ ๋งค๊ฐ๋ณ์๋ฅผ ์ ์ธํจ ๋งค๊ฐ๋ณ์๊ฐ ํ ๊ฐ์ธ ๊ฒฝ์ฐ ์๊ดํธ ()๋ฅผ ์๋ตํ ์ ์์ ๋งค๊ฐ๋ณ์๊ฐ ์๋ ๊ฒฝ์ฐ ์๊ดํธ ()๋ฅผ ์๋ตํ ์ ์์
- ํจ์ ๋ชธ์ฒด ์ ์ ํจ์ ๋ชธ์ฒด๊ฐ ํ๋์ ๋ฌธ์ผ๋ก ๊ตฌ์ฑ๋๋ค๋ฉด ํจ์ ๋ชธ์ฒด๋ฅผ ๊ฐ์ธ๋ ์ค๊ดํธ {}๋ฅผ ์๋ตํ ์ ์์
ํ์ดํ ํจ์์ ์ผ๋ฐ ํจ์์ ์ฐจ์ด
- ํ์ดํ ํจ์๋ ์ธ์คํด์ค๋ฅผ ์์ฑํ ์ ์๋ non-constructor์
- ์ค๋ณต๋ ๋งค๊ฐ๋ณ์ ์ด๋ฆ์ ์ ์ธํ ์ ์์
- ํ์ดํ ํจ์๋ ํจ์ ์์ฒด์ this, arguments, super, new.target ๋ฐ์ธ๋ฉ์ ๊ฐ์ง ์์
this
ํ์ดํ ํจ์๋ ํจ์ ์์ฒด์ this ๋ฐ์ธ๋ฉ์ ๊ฐ์ง ์์. ๊ทธ๋์ ํ์ดํ ํจ์ ๋ด๋ถ์์ this๋ฅผ ์ฐธ์กฐํ๋ฉด ์์ ์ค์ฝํ์ this๋ฅผ ๊ทธ๋๋ก ์ฐธ์กฐํจ. ์ด๋ฅผ lexical this๋ผ๊ณ ํจ.
Rest ํ๋ผ๋ฏธํฐ
Rest ํ๋ผ๋ฏธํฐ๋ ๋งค๊ฐ๋ณ์ ์ด๋ฆ ์์ ์ธ๊ฐ์ ์ โฆ์ ๋ถ์ฌ์ ์ ์ํ ๋งค๊ฐ๋ณ์๋ฅผ ์๋ฏธํ๋ฉฐ, ํจ์์ ์ ๋ฌ๋ ์ธ์๋ค์ ๋ชฉ๋ก์ ๋ฐฐ์ด๋ก ์ ๋ฌ ๋ฐ์.
๋งค๊ฐ๋ณ์ ๊ธฐ๋ณธ๊ฐ
function sum(x, y){
return x + y;
}
console.log(sum(1));
์ด ๊ฒฝ์ฐ, ๋งค๊ฐ ๋ณ์์ ๋ชจ๋ ์ธ์๊ฐ ์ ๋ฌ๋์ง ์์์, ๊ฒฐ๊ณผ๊ฐ์ด ์๋์น ์์ ๊ฒฐ๊ณผ๊ฐ์ด ๋์จ ๊ฒ์ ์ ์ ์์.
๊ทธ๋์, ๋งค๊ฐ๋ณ์์ ๊ธฐ๋ณธ๊ฐ์ ํ ๋นํด์ค์ผ๋ก์ ํด๊ฒฐํ ์ ์์.
๐ย ์ฐธ๊ณ ์๋ฃ
- ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ Deep dive