ํ์ฌ ๋ ์ง ๊ธฐ์ค์ผ๋ก ๊ฒฝ๋ ฅ ๋ง 3๋ ์ด ์กฐ๊ธ ์ง๋ 4๋ ์ฐจ ์น ํ๋ก ํธ์๋ ๊ฐ๋ฐ์์ ์ง๋ 2021๋ ํ๊ณ ๋ก์ ์์ฑํด๋ณธ๋ค. ๊ฐ์ธ์ ์ผ๋ก๋ 3~4๋ ์ฐจ๊ฐ ๊ฐ์ฅ ์ ๋งคํ ์๊ธฐ ์ค ํ๋์ธ ๊ฒ ๊ฐ๋ค. ์ด์ ๋ ์ด์ ์ ์ ๋ ์๋๊ณ ๊ทธ๋ ๋ค๊ณ ์๋์ด๋ ์๋๋ค. ๊ฐ์ธ์ ์ผ๋ก ๋๋ผ๊ธฐ์๋ ์์ง ๋ง์ด ๋ถ์กฑํ๊ณ ๊ณต๋ถํ ๊ฒ ๋๋ฌด ๋ง์๋ฐ ํ์ฌ์๋ ๋ญ๊ฐ๋ฅผ ๋ณด์ฌ์ค์ผ ํ ๊ฒ ๊ฐ์ ๋ถ๋ด๊ฐ์ด ๋ชฐ๋ ค์ค๋ ์โฆ
์ฐธ์กฐ ํ ๋น, ์์ ๋ณต์ฌ, ๊น์ ๋ณต์ฌ์ ๊ดํดโฆ ์๋ ์๊ณ ์๋ ๋ด์ฉ ๊ธฐ์กด์ ์ ๋ฆฌํ๋ ํฌ์คํ ์ฐธ์กฐ ํ ๋น ์ฃผ์๊ฐ์ ๋ณต์ฌํ๋ ๊ฒ ์์ ๋ณต์ฌ (Shallow Copy) ๋ณต์ฌ๋์ด ์๋ก์ด ๋ฉ๋ชจ๋ฆฌ๋ก ํ ๋น์ด ๋์ง๋ง ์์ฑ์ผ๋ก ๊ฐ๊ณ ์๋ ๊ฐ์ฒด๋ ๋ฐฐ์ด์ ์ฃผ์๊ฐ์ด ๋ณต์ฌ๋๋ ํํ. ex) spread operator, object assign ๊น์ ๋ณต์ฌ (Deep Copy) ๋ณตโฆ
2021 NAVER DEVIEW <์ฌ๊ธฐ๋ก์ด ์จ์ผ์ฑ ๊ฐ๋ฐ> ์ธ์ ๋ค์ผ๋ฉฐ ์ ๋ฆฌํ ๋ด์ฉ 1. ์จ์ผ ์ฑ์ด๋? Whale platform(Whale ๋ธ๋ผ์ฐ์ ๋ Whale OS)์์ ๋์ํ๋ ํ์ฅ์ฑ Whale Platform Chromium ๊ธฐ๋ฐ ์น ์๋น์ค ํ๋ซํผ Chromium ์คํ์์ค + Whale๋ง์ ์๋น์ค Chromium ๊ธฐ๋ฅ์ผ๋ก๋ง ๊ตฌ์ฑ๋ ์ฑ์ ๋ค๋ฅธ ๋ธ๋ผ์ฐ์ โฆ
0. Table of Contents What is OOP Objects Prototypes ๐ Current Page Prototypical Inheritance (TBD) ES6 Classes (TBD) ES6 Modules (TBD) 1. ์์ (Inheritance) ์์์ ๊ฐ์ฒด๊ฐ ๋ค๋ฅธ ๊ฐ์ฒด์ ์์ฑ๊ณผ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก ํ๋ OOP์ ํต์ฌโฆ
0. Table of Contents What is OOP Objects ๐ Current Page Prototypes Prototypical Inheritance (TBD) ES6 Classes (TBD) ES6 Modules (TBD) 1. Creating Objects ์ค๊ดํธ ()๋ฅผ ๊ฐ์ฒด ๋ฆฌํฐ๋ด ๊ตฌ๋ฌธ์ด๋ผ๊ณ ํ๋ค. ๊ฐ์ฒด๋ key-value ์์ ๊ฐ์งโฆ
ํด์ ํ ์ด๋ธ (Hash Table) F(key) โ Hash Code โ Index โ Value ๊ฒ์ํ๊ณ ์ ํ๋ key๊ฐ์ ์ ๋ ฅ๋ฐ์์ ํด์ ํจ์๋ฅผ ๋๋ ค์ ๋ฐํ๋ฐ์ ํด์ ์ฝ๋๋ฅผ ๋ฐฐ์ด index๋ก ํ์ฐ์ ํด์ ๋ฐ์ดํฐ์ ์ ๊ทผํ๋ ๋ฐฉ์์ ์๋ฃ๊ตฌ์กฐ์ด๋ค ์ฌ๊ธฐ์ ๊ฐ์ ๋ฌธ์์ด์ด ๋ ์๋ ์๊ณ ์ซ์, ํ์ผ ๋ฐ์ดํฐ๋ ๋ ์ ์๋ค. ํด์ ํจ์๋ ์ด๋ค ํน์ ํ ๊ท์น์ ์ด์ฉํด์โฆ
0. Table of Contents What is OOP ๐ Current Page Objects Prototypes Prototypical Inheritance (TBD) ES6 Classes (TBD) ES6 Modules (TBD) 1. What is OOP? OOP(๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ)๋, ํจ์๋ณด๋ค๋ ๊ฐ์ฒด๋ฅผ ์ค์ฌ์ผ๋ก ํ๋ ํ๋ก๊ทธ๋๋ฐ ์คํ์ผ, โฆ
0. Index ๊ณ ์ฐจ ํจ์๋? ๋ง์ด ์ฌ์ฉ๋๋ ๋ฐฐ์ด ๊ณ ์ฐจ ํจ์๋ค forEach map filter reduce some every find findIndex fill sort includes ๋ค์ํ ๊ณ ์ฐจ ํจ์๋ค ์๊ฐํ ๋น๊ต ์ฑ๋ฅ ๋น๊ต 1. ๊ณ ์ฐจ ํจ์๋? ํจ์๋ฅผ ์ธ์๋ก ์ ๋ฌ๋ฐ๊ฑฐ๋ ํจ์๋ฅผ ๊ฒฐ๊ณผ๋ก ๋ฐํํ๋ ํจ์ 2. ๋ง์ด ์ฌ์ฉ๋๋ ๋ฐฐ์ด ๊ณ ์ฐจ ํจ์๋ค 2-1. Arโฆ
ํ ์ฌ์ดํธ์์ ์ฃผ์๊ฐ ๋ค๋ฅธ ์๋ฒ๋ก ์์ฒญ์ ๋ณด๋ผ ๋ CORS ๊ด๋ จ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค. https://aaa.com ์์ https://bbb.com/api/ccc API๋ก ์ ๋ณด๋ฅผ ๋ฐ์์ค๊ธฐ ์ํด โํ๋ก ํธโ์์ HTTP ์์ฒญ์ ๋ณด๋์ ๋ ๋ฏธ๋ฆฌ ํน์ ์ค์ ์ ํด์ฃผ์ง ์์ผ๋ฉด CORS ๊ด๋ จ ์๋ฌ๋ก ๋งํ๊ฒ ๋๋ค. โPostManโ ๊ฐ์ ๊ฒ์ผ๋ก ๋๊ฐ์ ์์ฒญ์ ๋ณด๋ด๊ฑฐ๋ โ๋ฐฑโฆ
1. ์ฐธ์กฐ ํ ๋น ์ ์ ํ ๋นํ ๋, ์ฃผ์๊ฐ์ด ํ ๋น๋๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ํ ๊ฐ์ฒด์ ๊ฐ์ ์์ ํ๋ฉด ๋ค๋ฅธ ๊ฐ์ฒด์ ๊ฐ ๋ํ ๋์ผํ๊ฒ ๋ณํ๋ค. 2. ์์ ๋ณต์ฌ - Shallow Copy 2-1. Object.assign() ๋ฉ์๋๋ ์ด๊ฑฐํ ์ ์๋ ํ๋ ์ด์์ ์ถ์ฒ ๊ฐ์ฒด(source)๋ก๋ถํฐ ๋์ ๊ฐ์ฒด(target)๋ก ์์ฑ์ ๋ณต์ฌํ ๋ ์ฌ์ฉํ๊ณ ๋์ ๊ฐ์ฒด(targeโฆ