this ํค์๋ this๋ ์์ ์ด ์ํ ๊ฐ์ฒด๋ฅผ ๋๋ ์์ ์ด ์์ฑํ ์ธ์คํด์ค๋ฅผ ๊ฐ๋ฅดํค๋ ์๊ธฐ ์ฐธ์กฐ ๋ณ์์ ๋๋ค. this๋ฅผ ํตํด ์์ ์ด ์ํ ๊ฐ์ฒด ๋๋ ์์ ์ด ์์ฑํ ์ธ์คํด์ค์ ํ๋กํผํฐ๋ ๋ฉ์๋๋ฅผ ์ฐธ์กฐํ ์ ์์ต๋๋ค. // ์์ฑ์ ํจ์ function Circle(radius) { // this๋ ์์ฑ์ ํจ์๊ฐ ์์ฑํ ์ธ์คํด์ค๋ฅผ ๊ฐ๋ฆฌํด this.radius = radius; } Circle.prototype.getDiameter = function () { // this๋ ์์ฑ์ ํจ์๊ฐ ์์ฑํ ์ธ์คํด์ค๋ฅผ ๊ฐ๋ฆฌํด return 2 * this.radius; }; // ์ธ์คํด์ค ์์ฑ const circle = new Circle(5); console.log(circle.getDiameter()); // 10 ์๋ฐ..
์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด์ ๋ถ๋ฅ ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด๋ ๋ค์๊ณผ ๊ฐ์ด ํฌ๊ฒ 3๊ฐ์ ๊ฐ์ฒด๋ก ๋ถ๋ฅํ ์ ์์ต๋๋ค. ์ข ๋ฅ ์ค๋ช ํ์ค ๋นํธ์ธ ๊ฐ์ฒด - ESMAScript ์ฌ์์ ์ ์๋ ๊ฐ์ฒด - ์ ํ๋ฆฌ์ผ์ด์ ์ ์ญ์ ๊ณตํต ๊ธฐ๋ฅ์ ์ ๊ณต - ์๋ฐ์คํฌ๋ฆฝํธ ์คํ ํ๊ฒฝ๊ณผ ๊ด๊ณ์์ด ์ธ์ ๋ ์ฌ์ฉ ๊ฐ๋ฅ - ์ ์ญ ๊ฐ์ฒด์ ํ๋กํผํฐ๋ก์ ์ ๊ณต๋จ - ๋ณ๋์ ์ ์ธ ์์ด ์ ์ญ ๋ณ์์ฒ๋ผ ์ธ์ ๋ ์ฐธ์กฐ ๊ฐ๋ฅ ํธ์คํธ ๊ฐ์ฒด - ์๋ฐ์คํฌ๋ฆฝํธ ์คํ ํ๊ฒฝ์์ ์ถ๊ฐ๋ก ์ ๊ณตํ๋ ๊ฐ์ฒด (ESMAScript ์ฌ์์ ์ ์๋ ๊ฐ์ฒดX) - ๋ธ๋ผ์ฐ์ ํ๊ฒฝ : *ํด๋ผ์ด์ธํธ ์ฌ์ด๋ Web API๋ฅผ ํธ์คํธ ๊ฐ์ฒด๋ก ์ ๊ณต - Node.js ํ๊ฒฝ : ๊ณ ์ ์ API๋ฅผ ํธ์คํธ ๊ฐ์ฒด๋ก ์ ๊ณต ์ฌ์ฉ์ ์ ์ ๊ฐ์ฒด - ์ฌ์ฉ์๊ฐ ์ง์ ์ ์ํ ๊ฐ์ฒด (ํ์ค ๋นํธ์ธ ๊ฐ์ฒด์ ํธ์คํธ ๊ฐ์ฒด์ฒ๋ผ ๊ธฐ๋ณธ ์ ๊ณต๋๋ ๊ฐ์ฒดX)..
์๋ฐ์คํฌ๋ฆฝํธ๋ ๋ช ๋ นํ, ํจ์ํ, ํ๋กํ ํ์ ๊ธฐ๋ฐ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ์ง์ํ๋ ๋ฉํฐ ํจ๋ฌ๋ค์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋๋ค. C++๋ ์๋ฐ์ ๊ฐ์ ํด๋์ค ๊ธฐ๋ฐ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ณด๋ค ํจ์จ์ ์ด๋ฉฐ ๋ ๊ฐ๋ ฅํ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ ๋ฅ๋ ฅ์ ์ง๋๊ณ ์์ต๋๋ค. ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ํ๋ก๊ทธ๋๋ฐ์ ๋ช ๋ น์ด ๋๋ ํจ์์ ๋ชฉ๋ก์ผ๋ก ๋ณด๋ ์ ํต์ ์ธ ๋ช ๋ นํ ํ๋ก๊ทธ๋๋ฐ์ ์ ์ฐจ์งํฅ์ ๊ด์ ์์ ๋ฒ์ด๋ ์ฌ๋ฌ ๊ฐ์ ๋ ๋ฆฝ์ ๋จ์, ์ฆ ๊ฐ์ฒด์ ์งํฉ์ผ๋ก ํ๋ก๊ทธ๋จ์ ํํํ๋ ค๋ ํ๋ก๊ทธ๋๋ฐ ํจ๋ฌ๋ค์์ ๋๋ค. // ์ด๋ฆ๊ณผ ์ฃผ์ ์์ฑ์ ๊ฐ๋ ๊ฐ์ฒด const person = { name: 'Lee', address: 'Seoul' }; const circle = { radius: 5, getDiameter() { return 2 * radi..
์ผ๊ธ ๊ฐ์ฒด ์ผ๊ธ ๊ฐ์ฒด๋, ๋ค์๊ณผ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๊ฐ์ฒด์ ๋๋ค. ๋ฌด๋ช ์ ๋ฆฌํฐ๋ด๋ก ์์ฑํ ์ ์๋ค. ์ฆ, ๋ฐํ์์ ์์ฑ์ด ๊ฐ๋ฅํ๋ค. ๋ณ์๋ ์๋ฃ๊ตฌ์กฐ(๊ฐ์ฒด, ๋ฐฐ์ด ๋ฑ)์ ์ ์ฅํ ์ ์๋ค. ํจ์์ ๋งค๊ฐ๋ณ์์ ์ ๋ฌํ ์ ์๋ค. ํจ์์ ๋ฐํ๊ฐ์ผ๋ก ์ฌ์ฉํ ์ ์๋ค. ์๋ฐ์คํฌ๋ฆฝํธ์ ํจ์๋ ๋ค์ ์์ ์ ๊ฐ์ด ์์ ์กฐ๊ฑด์ ๋ณด๋ ๋ง์กฑํ๋ฏ๋ก ์ผ๊ธ ๊ฐ์ฒด์ ๋๋ค. // 1. ํจ์๋ ๋ฌด๋ช ๋ฆฌํฐ๋ด๋ก ์์ฑ ๊ฐ๋ฅ // 2. ํจ์๋ ๋ณ์์ ์ ์ฅํ ์ ์์ // ๋ฐํ์(ํ ๋น ๋จ๊ณ)์ ํจ์ ๋ฆฌํฐ๋ด์ด ํ๊ฐ๋์ด ํจ์ ๊ฐ์ฒด๊ฐ ์์ฑ๋๊ณ ๋ณ์์ ํ ๋น๋จ const increase = function (num) { return ++num; }; const decrease = function (num) { return --num; }; // 2. ํจ์๋ ๊ฐ์ฒด..
๊ฐ์ฒด ๋ฆฌํฐ๋ด์ ์ํ ๊ฐ์ฒด ์์ฑ๋ฐฉ์์ ๊ฐ์ฅ ์ผ๋ฐ์ ์ผ๊ณ ๊ฐ๋จํ ๊ฐ์ฒด ์์ฑ ๋ฐฉ์์ ๋๋ค. ํ์ง๋ง, ์ด์ธ์๋ ๋ค์ํ ๋ฐฉ๋ฒ์ผ๋ก ๊ฐ์ฒด๋ฅผ ์์ฑํ ์ ์๊ณ ๊ฐ๊ฐ์ ์ฅ๋จ์ ์ด ์กด์ฌํฉ๋๋ค. ** ๊ฐ์ฒด ๋ฆฌํฐ๋ด์ ์ํ ๊ฐ์ฒด ์์ฑ ๋ฐฉ์์ ๋ํ ์์ธํ ๋ด์ฉ์ ์๋๋ฅผ ์ฐธ๊ณ ํ์ธ์. https://j-su2.tistory.com/56?category=1037205 [JavaScript] ๊ฐ์ฒด ๋ฆฌํฐ๋ด ๊ฐ์ฒด๋? ์๋ฐ์คํฌ๋ฆฝํธ๋ ๊ฐ์ฒด๊ธฐ๋ฐ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก, ์์ ๊ฐ์ ์ ์ธํ ๋ชจ๋ ๊ฐ์ ๊ฐ์ฒดํ์ ์ ๋๋ค. ์ด๋ ๋ค์ํ ํ์ ์ ๊ฐ์ ํ๋์ ๋จ์๋ก ๊ตฌ์ฑํ ๋ณตํฉ์ ์ธ ์๋ฃ๊ตฌ์กฐ๋ก ์์ ๊ฐ๊ณผ ๋ค๋ฅด๊ฒ j-su2.tistory.com Object ์์ฑ์ ํจ์ new ์ฐ์ฐ์์ ํจ๊ป Object ์์ฑ์ ํจ์๋ฅผ ํธ์ถํ๋ฉด ๋น ๊ฐ์ฒด๋ฅผ ์์ฑํ์ฌ ๋ฐํํฉ๋๋ค. ์ดํ ํ๋กํผํฐ ..
๋ด๋ถ ์ฌ๋กฏ(internal slot)๊ณผ ๋ด๋ถ ๋ฉ์๋(internal method)๋? ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ ๊ตฌํ ์๊ณ ๋ฆฌ์ฆ์ ์ค๋ช ํ๊ธฐ ์ํด ECMAScript ์ฌ์์์ ์ฌ์ฉํ๋ ์์ฌ ํ๋กํผํฐ์ ์์ฌ ๋ฉ์๋๋ก, ์ด์ค ๋๊ดํธ ([[ ... ]])๋ก ๊ฐ์ผ ์ด๋ฆ๋ค์ด ๋ด๋ถ ์ฌ๋กฏ๊ณผ ๋ด๋ถ ๋ฉ์๋์ ๋๋ค. const o = {}; o.[[Prototype]] // -> Uncaught SyntaxError 0.__proto__ // -> Object.prototype ์์ ์์ ์ ๊ฐ์ด ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ ๋ด๋ถ ๋ก์ง์ธ ๋ด๋ถ ์ฌ๋กฏ๊ณผ ๋ด๋ถ ๋ฉ์๋๋ ์ง์ ์ ์ผ๋ก ์ ๊ทผํ๊ฑฐ๋ ํธ์ถํ ์ ์์ง๋ง, [[Prototype]] ๋ด๋ถ ์ฌ๋กฏ์ ๊ฒฝ์ฐ __proto__๋ฅผ ํตํด ๊ฐ์ ์ ์ผ๋ก ์ ๊ทผ ๊ฐ๋ฅํ ๊ฒ ์ฒ๋ผ ์ผ๋ถ๋ ์ ๊ทผ ์๋จ์ ์ ๊ณตํฉ๋๋ค. ํ๋กํผํฐ ..
var ํค์๋๋ก ์ ์ธํ ๋ณ์์ ๋ฌธ์ ์ ES5๊น์ง ๋ณ์๋ฅผ ์ ์ธํ ์ ์๋ ์ ์ผํ ๋ฐฉ๋ฒ์ var ํค์๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด์์ต๋๋ค. ๋ค์๊ณผ ๊ฐ์ var ํค์๋์ ๋ ํนํ ํน์ง๋ค์ ์ฃผ์๋ฅผ ๊ธฐ์ธ์ด์ง ์์ผ๋ฉด ์ฌ๊ฐํ ๋ฌธ์ ๋ฅผ ๋ฐ์์ํฌ ์ ์์ต๋๋ค. ๋ณ์ ์ค๋ณต ์ ์ธ ํ์ฉ var ํค์๋๋ก ์ ์ธํ ๋ณ์๋ ์ค๋ณต ์ ์ธ์ด ๊ฐ๋ฅํด์ ์๋์น ์๊ฒ ๋จผ์ ์ ์ธ๋ ๋ณ์์ ๊ฐ์ด ๋ณ๊ฒฝ๋๋ ๋ถ์์ฉ์ด ๋ฐ์ํฉ๋๋ค. var x = 1; var y = 1; // var ํค์๋๊ฐ ์๋ ๊ฒ์ฒ๋ผ ๋์ var x = 100; // ์ด๊ธฐํ๋ฌธ์ด ์๋ ๋ณ์ ์ ์ธ๋ฌธ์ ๋ฌด์๋จ var y; console.log(x); // 100 console.log(y); // 1 x์ y๊ฐ ์ค๋ณต ์ ์ธ๋จ x๋ ์ด๊ธฐํ๋ฌธ์ด ์์ด์ var ํค์๋๊ฐ ์๋ ๊ฒ์ฒ๋ผ ๋์ํด 100์ผ๋ก ๊ฐ์ด ๋ณ๊ฒฝ๋จ..
๋ณ์์ ์๋ช ์ฃผ๊ธฐ ๋ณ์๋ ์๋ฌผ๊ณผ ์ ์ฌํ๊ฒ ์์ฑ๋๊ณ ์๋ฉธ๋๋ ์๋ช ์ฃผ๊ธฐ๋ฅผ ๊ฐ์ง๊ณ ์๊ณ ์์ ์ด ์ ์ธ๋ ์์น์์ ์์ฑ๋๊ณ ์๋ฉธ๋ฉ๋๋ค. ๋ณ์์ ์๋ช ์ฃผ๊ธฐ๋ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ด ํ๋ณด๋ ์์ ๋ถํฐ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ด ํด์ ๋์ด ๊ฐ์ฉ ๋ฉ๋ชจ๋ฆฌ ํ์ ๋ฐํ๋๋ ์์ ๊น์ง๋ฅผ ์๋ฏธํฉ๋๋ค. ์ข ๋ฅ ์๋ช ์ฃผ๊ธฐ ์ง์ญ ๋ณ์ - ํจ์์ ์๋ช ์ฃผ๊ธฐ์ ๋๋ถ๋ถ ์ผ์น - ํจ์๊ฐ ํธ์ถ๋๋ฉด ์์ฑ๋๊ณ ํจ์๊ฐ ์ข ๋ฃํ๋ฉด ์๋ฉธ ์ ์ญ ๋ณ์ - *์ ์ญ ๊ฐ์ฒด์ ์๋ช ์ฃผ๊ธฐ์ ์ผ์น - ์ฝ๋๊ฐ ๋ก๋๋์๋ง์ ๊ณง๋ฐ๋ก ํด์๋๊ณ ์คํ๋จ - ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋ช ์ฃผ๊ธฐ์ ๊ฐ์ *์ ์ญ ๊ฐ์ฒด : ์ฝ๋๊ฐ ์คํ๋๊ธฐ ์ด์ ๋จ๊ณ์ ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ ์ํด ์ด๋ค ๊ฐ์ฒด๋ณด๋ค๋ ๋จผ์ ์์ฑ๋๋ ํน์ํ ๊ฐ์ฒด. ๋ธ๋ผ์ฐ์ ํ๊ฒฝ์ window ๊ฐ์ฒด, Node.js ํ๊ฒฝ์์๋ global ๊ฐ์ฒด๋ฅผ ์๋ฏธํจ ์ ์ญ ๋ณ์์ ๋ฌธ์ ..
- Total
- Today
- Yesterday
- ์๊ณ ๋ฆฌ์ฆ
- ๋ฐฑ์ค
- git
- ์นด์นด์ค ์ธํด
- ์ด์์ฒด์
- ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ
- map
- ๋์์ธ ํจํด
- fp
- ํ๋กํ ์ฝ
- ์ ์ญ ๋ณ์
- 2019 ์นด์นด์ค ๊ฐ๋ฐ์ ๊ฒจ์ธ ์ธํด
- ์๋ฐ์คํฌ๋ฆฝํธ
- ๋คํธ์ํฌ
- JavaScript
- ์ฝ๋ฉํ ์คํธ
- ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ
- ๋ฐฑ์ค node.js
- ํ๋ก๊ทธ๋๋จธ์ค
- ํจ์ํ ํ๋ก๊ทธ๋๋ฐ
- Baekjoon
- ๋ฐฑ์ค javascript
- ํฌํฌ์ธํฐ
- http
- ๋ ์์ปฌ ํ๊ฒฝ
- TDD
- ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ deep dive
- ํ๋กํผํฐ
- ์ด๋ถํ์
- ์๋ฐ
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |