2024. 2. 26. 15:41γπ€ Language/JavaScript
νμμ± / μ€μμ±
리μ‘νΈ μ»΄ν¬λνΈ λ λλ§μ΄ μΌμ΄λλ μ€μ μμΈ μ€ νλκ° propsμ λλ± λΉκ΅μ λ°λ₯Έ κ²°κ³Όμ΄λ€. JSμμμ λλ±λΉκ΅κ° μΌμ΄λλ λ‘μ§μ λν΄ μ μκ³ μμ΄μΌ λ λλ§ λ°©μ§ λ° λ λλ§ μ΅μ ν λ±μ κΈ°λ₯μ μ¬λ°λ‘ νμ©ν μ μλ€.
λ°μ΄ν° νμ / κ°μ μ μ₯νλ λ°©μμ μ°¨μ΄
μμ νμ
(primitive type)κ³Ό κ°μ²΄ νμ
(object/reference type)μ΄ μλλ°, κ°μ²΄λ₯Ό μ μΈν λͺ¨λ κ²λ€μ΄ μμ νμ
μ μνλ€.
μμ νμ
μ λΆλ³ ννμ κ°μΌλ‘ μ μ₯λκ³ , κ°μ²΄ νμ
μ λ³κ²½ κ°λ₯ν ννλ‘ μ μ₯μ΄ λλ€.
κ°μ²΄λ λμ 보μ΄λ valueκ° λμΌνλλΌλ μ°Έμ‘°κ° λ€λ₯΄κΈ° λλ¬Έμ κ°μ΄ κ°μ§ μλ€.
κ·Έλ¬λ κ°μ valueλ λμΌν μ£Όμμ μ μ₯μ΄ λκΈ°μ λΉκ΅ κ²°κ³Όκ° κ°κ² λμ¨λ€.
const hello1 = {greet: 'hello, world'}
const hello2 = {greet: 'hello, world'}
hello1 === hello2 // false
hello1.greet === hello2.greet // true
κ°μ λΉκ΅νλ λ°©μ
==λ jsμμ μλμΌλ‘ νμ λ³νμμΌ λΉκ΅νμ¬ λΆμμ νλ€
'5' == 5 //true
'5' === 5 // false
Object.isλ ===μ νκ³κΉμ§ 극볡νκΈ° μν΄ λ§λ€μ΄μ§ λ°©λ²μ΄μ§λ§ μ¬μ ν κ°μ²΄ λΉκ΅μμλ νκ³λ₯Ό κ°μ§κ³ μλ€.
리μ‘νΈμμ κ°μ λΉκ΅
κ°μ²΄κ° λΉκ΅λ₯Ό μ’ λ μ ννκ² μννκΈ° μνμ¬ λ¦¬μ‘νΈμμ shallowEqualμ΄λΌλ ν¨μλ₯Ό μ 곡νλ€.
μ΄ ν¨μλ μμ λΉκ΅λ₯Ό μννλ λ‘μ§μ κ°μ§μ§λ§ κΉμ κ°μ²΄(κ°μ²΄ μμ λ λ€λ₯Έ κ°μ²΄λ₯Ό κ°μ§ λμ)μ λν΄μλ λΉκ΅λ₯Ό μννμ§ μλλ€.
κΈ°λ³Έμ μΌλ‘ 리μ‘νΈλ propsμμ κΊΌλ΄μ¨ κ°μ κΈ°μ€μΌλ‘ λλλ§μ μννκΈ°μ μμ λΉκ΅λ‘ μΆ©λΆν κ²½μ°κ° λ§λ€.
Reference: λͺ¨λ 리μ‘νΈ Deep Dive 1.1 μλ°μ€ν¬λ¦½νΈμ λλ±λΉκ΅
'π€ Language > JavaScript' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Language/JavaScript] JS κ°λ° νκ²½ (0) | 2024.02.23 |
---|---|
[Language/JavaScript] JS νΉμ§(μΈν°νλ¦¬ν° μΈμ΄) (0) | 2024.02.01 |
[Language/JS] μμ¬ & νΉμ§ (0) | 2023.10.12 |
[JS] μ¬λ¬ νμΌ κ΄λ¦¬νκΈ° (0) | 2023.06.07 |
[λ¬Έλ²/JS] method: .every() (0) | 2023.05.25 |