π«¨1μ₯μ 리μ‘νΈ κ°λ°μ μν΄ κΌ μμμΌ ν μλ°μ€ν¬λ¦½νΈλ€.
1μ₯ νμ΅ν λ΄μ©μ μμ±νκΈ° μμ,
1μ₯λ§ λ¬΄λ € 20νμ΄μ§λΆν° 114νμ΄μ§κΉμ§κ° 1μ₯μ΄μλ€.
νμ΄λ³΄λ μ¬μ§μ΄ Reactμ λν λ΄μ©μ΄ μλ JSμ λν λ΄μ©μ΄ λ€λμ΄μλ€.
νμ¬ λμ μν©μ μκ°ν΄λ³΄λ Reactλ‘ ννλ‘μ νΈλ₯Ό μ΄λ²μ£Ό ν μμΌλΆν° μ§νμ
νλλ° 1μ₯μ μ μ λ―Έλ£¨κ³ 2μ₯λΆν° μ§νμ νλ €λ€κ°
JSμ λν΄ μλ²½ν μμ§νκ³ μμ§λ μκ³
λ΄μ©λμ΄ λ§μ μ΄μ κ° μκ² κ±°λ νκ³ 1μ₯λΆν° μ§νμ νλ €κ³ νλ€.
λ°μ΄ν° νμ
μ€ μμνμ
μλ 7κ°μ§μ μμνμ
μ΄ μλ€.
κ·Έ μ€μ Symbol
μ λν΄ μμ보μλ€.
Symbol
Symbolμ ES6μ μλ‘κ² μΆκ°λ 7λ²μ§Έ νμ
μ΄λ€.
μ€λ³΅λμ§ μλ κ³ μ ν κ°μ λνλ΄κΈ° μν΄ λ§λ€μ΄μ‘λ€.
μ¬λ²μ ν¨μλ₯Ό μ΄μ©ν΄μλ§ λ§λ€ μ μλ€.
ex : Symbol()μ μ¬μ©ν΄μΌλ§ νλ€.
<script>
//Symbol ν¨μμ κ°μ μΈμλ₯Ό λ겨주λλΌλ μ΄λ λμΌν κ°μΌλ‘ μΈμ λμ§μμ.
// μ¬λ² ν¨μ λ΄λΆμ λ겨주λ κ°μ Symbol μμ±μ μν₯μ λ―ΈμΉμ§ μμ. (Symbol.for μ μΈ)
const key = Symbol('key');
const key2 = Symbol('key');
key === key2 // false
//λμΌν κ°μ μ¬μ©νλ €λ©΄ Symbol.forμ νμ©νλ€.
Symbol.for('Hi') === Symbol.for('Hi')// true
</script>
κ°μ²΄ νμ
κ°μ²΄ νμ
μ κ°λ¨νκ² μ μνλ©΄ μμνμ
μΈμ λͺ¨λ νμ
μ΄ κ°μ²΄νμ
μ΄λΌκ³ νλ€.
λ°°μ΄
ν¨μ
μ κ·μ
ν΄λμ€
λ± ν¬ν¨μ΄ λλ€.
π‘ κ°μ²΄νμ (object type)μ μ°Έμ‘°λ₯Ό μ λ¬νλ€κ³ ν΄μ μ°Έμ‘° νμ (reference type)μΌλ‘ λΆλ¦°λ€κ³ νλ€.
<script>
typeof [] === 'object'; //true
typeof {} === 'object'; //true
function hello() {}
typeof hello === 'function' // true
const hello1 = function (){}
const hello2 = function (){}
//κ°μ²΄μΈ ν¨μμ λ΄μ©μ΄ μ‘μμΌλ‘λ κ°μ 보μ¬λ μ°Έμ‘°κ° λ€λ₯΄κΈ° λλ¬Έμ falseκ° λ°νλλ€.
hello1 === hello2 // false
</script>
π§ λ€μ κΈμλ λλ± λΉκ΅μ νΉμ§μ λν΄ μμ보μ.