κ°μ²΄ 리ν°λ΄μ μν κ°μ²΄ μμ±λ°©μμ κ°μ₯ μΌλ°μ μΌκ³ κ°λ¨ν κ°μ²΄ μμ± λ°©μμ λλ€. νμ§λ§, μ΄μΈμλ λ€μν λ°©λ²μΌλ‘ κ°μ²΄λ₯Ό μμ±ν μ μκ³ κ°κ°μ μ₯λ¨μ μ΄ μ‘΄μ¬ν©λλ€. ** κ°μ²΄ 리ν°λ΄μ μν κ°μ²΄ μμ± λ°©μμ λν μμΈν λ΄μ©μ μλλ₯Ό μ°Έκ³ νμΈμ. 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 κ°μ²΄λ₯Ό μλ―Έν¨ μ μ λ³μμ λ¬Έμ ..
μ€μ½ν(Scope)λ? μ€μ½νλ μ§μνμλ©΄ "λ²μ"λΌλ λ»μ΄κ³ , μλ°μ€ν¬λ¦½νΈμμμ μ€μ½νλ μλ³μκ° μ ν¨ν λ²μλ₯Ό λ»ν©λλ€. λ³μ μ΄λ¦, ν¨μ μ΄λ¦, ν΄λμ€ μ΄λ¦ λ± λͺ¨λ μλ³μλ μμ μ΄ μ μΈλ μμΉμ μν΄ λ€λ₯Έ μ½λκ° μλ²½μ μμ μ μ°Έμ‘°ν μ μλ μ ν¨ λ²μκ° κ²°μ λλλ° μ΄ μ ν¨ λ²μκ° μ€μ½νμ λλ€. // μ μ λ³μ var x = 'global'; function foo() { // μ§μ λ³μ var x = 'local'; console.log(x); // "local" } console.log(x); // "global" μλ°μ€ν¬λ¦½νΈ μμ§μ μ΄λ¦μ΄ κ°μ λ κ°μ λ³μ μ€μμ μ΄λ€ λ³μλ₯Ό μ°Έμ‘°ν΄μΌ ν κ²μΈμ§ μλ³μ κ²°μ ν΄μΌν¨ μ€μ½νλ μλ°μ€ν¬λ¦½νΈ μμ§μ΄ μλ³μλ₯Ό κ²μν λ μ¬μ©νλ κ·μΉ μ€μ½ν λ΄μμ ..
ν¨μλ? μνμ ν¨μλ "μ λ ₯"μ λ°μ "μΆλ ₯"μ λ΄λ³΄λ΄λ μΌλ ¨μ κ³Όμ μ μ μν κ²μ λλ€. νλ‘κ·Έλλ° μΈμ΄μ ν¨μλ μ΄μ κ°μ κ°λ μΈλ° μΌλ ¨μ κ³Όμ μ λ¬ΈμΌλ‘ ꡬννκ³ μ½λ λΈλ‘μΌλ‘ κ°μΈμ νλμ μ€ν λ¨μλ‘ μ μν κ²μ λλ€. // ν¨μ μ μΈ function add(x,y) { return x + y; } // ν¨μ νΈμΆ add(2,5); // λ°νκ° 7 ν¨μλ ν¨μ μ μλ₯Ό ν΅ν΄ μμ±λκ³ μΈμλ₯Ό 맀κ°λ³μλ₯Ό ν΅ν΄ ν¨μμ μ λ¬νλ©΄μ ν¨μμ μ€νμ λͺ μμ μΌλ‘ μ§μνλ ν¨μ νΈμΆμ μ§ννλ©΄ μ½λ λΈλ‘μ λ΄κΈ΄ λ¬Έλ€μ΄ μΌκ΄μ μΌλ‘ μ€νλκ³ μ€ν κ²°κ³ΌμΈ λ°νκ°μ λ°νν©λλ€. μλ³μ : ν¨μλ₯Ό ꡬλΆνλ ν¨μ μ΄λ¦ (add) 맀κ°λ³μ(parameter) : ν¨μ λ΄λΆλ‘ μ λ ₯μ μ λ¬λ°λ λ³μ(x,y) μΈμ(argument) ..
μμκ°κ³Ό κ°μ²΄μ μ°¨μ΄μ μμκ°κ³Ό κ°μ²΄μ νΉμ§μ μμΈν μμ보기 μμ μ°¨μ΄μ μ νλ‘ μ λ¦¬ν΄ λ³΄κ² μ΅λλ€. μμκ° κ°μ²΄ νμ λ³κ²½ λΆκ°λ₯ν κ° λ³κ²½ κ°λ₯ν κ° λ³μμ ν λΉνλ©΄ λ³μμ μ€μ κ°μ΄ μ μ₯λ¨ λ³μμ ν λΉνλ©΄ λ³μμ μ°Έμ‘°κ°μ΄ μ μ₯λ¨ λ€λ₯Έ λ³μμ ν λΉνλ©΄ μμ κ°μ΄ 볡μ¬λμ΄ μ λ¬ λ€λ₯Έ λ³μμ ν λΉνλ©΄ μ°Έμ‘° κ°μ΄ 볡μ¬λμ΄ μ λ¬(μ°Έμ‘°μ μν μ λ¬) μμ κ°μ νΉμ§ λ³κ²½ λΆκ°λ₯ν κ° νλ² μμ±λ μμ κ°μ μ½κΈ° μ μ©κ°μΌλ‘ μμ νμ μ κ°μ λ³κ²½μ΄ λΆκ°λ₯ν κ°μ λλ€. κ°μ λ³μμ μ μ₯λ λ°μ΄ν°λ‘μ ννμμ΄ νκ°λμ΄ μμ±λ κ²°κ³Όλ₯Ό λ§νκΈ° λλ¬Έμ λ³κ²½ λΆκ°λ₯νλ€λ κ²μ λ³μκ° μλλΌ μμ κ° μ체λ₯Ό λ³κ²½ν μ μλ€λ κ²μ λλ€. λ°λΌμ λΆλ³μ±μ κ°λ μμ κ°μ ν λΉν λ³μλ μ¬ν λΉ μ΄μΈμ λ³μ κ°μ λ³κ²½ν μ μλ ..
κ°μ²΄λ? μλ°μ€ν¬λ¦½νΈλ κ°μ²΄κΈ°λ°μ νλ‘κ·Έλλ° μΈμ΄λ‘, μμ κ°μ μ μΈν λͺ¨λ κ°μ κ°μ²΄νμ μ λλ€. μ΄λ λ€μν νμ μ κ°μ νλμ λ¨μλ‘ κ΅¬μ±ν 볡ν©μ μΈ μλ£κ΅¬μ‘°λ‘ μμ κ°κ³Ό λ€λ₯΄κ² λ³κ²½ κ°λ₯ν κ°μ λλ€. κ°μ²΄λ₯Ό μ μνμλ©΄ νλ‘νΌν°μ λ©μλλ‘ κ΅¬μ±λ μ§ν©μ²΄μ λλ€. νλ‘νΌν° : κ°μ²΄μ μνλ₯Ό λνλ΄λ κ°. keyκ³Ό valueλ‘ κ΅¬μ±. λ©μλ : νλ‘νΌν°(μν λ°μ΄ν°)λ₯Ό μ°Έμ‘°νκ³ μ‘°μν μ μλ λμ. var counter = { num: 0, increase() { this.num++; } }; μμ μμμ κ°μ΄ κ°μ²΄λ μνμ λμμ νλμ λ¨μλ‘ κ΅¬μ‘°ν ν μ μμ΄μ μ μ©ν©λλ€. κ°μ²΄ 리ν°λ΄μ μν κ°μ²΄ μμ± μλ°μ€ν¬λ¦½νΈλ νλ‘ν νμ κΈ°λ° κ°μ²΄μ§ν₯ μΈμ΄λ‘μ λ€μν κ°μ²΄ μμ± λ°©λ²μ μ§μν©λλ€. κ°μ²΄ *리..
- Total
- Today
- Yesterday
- μκ³ λ¦¬μ¦
- νλ‘νΌν°
- μ μ λ³μ
- ν¨μν νλ‘κ·Έλλ°
- λμμΈ ν¨ν΄
- νλ‘κ·Έλλ¨Έμ€
- Baekjoon
- μ΄λΆνμ
- λ°±μ€ javascript
- fp
- λ°±μ€ node.js
- μ΄μ체μ
- ν¬ν¬μΈν°
- git
- λ μ컬 νκ²½
- λ€νΈμν¬
- μ½λ©ν μ€νΈ
- map
- 2019 μΉ΄μΉ΄μ€ κ°λ°μ κ²¨μΈ μΈν΄
- 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 |
29 | 30 | 31 |