ν΄λΉ ν¬μ€ν
μ "μνμ½λ©"μ μ΄κ³ μ λμ κ°μλ₯Ό κΈ°λ°μΌλ‘ μ¬λ¦° κ²μκΈ μ
λλ€.
μμ
μ μΈ μ©λκ° μλ, κ°μΈ κ³΅λΆ μ 리 λͺ©μ μΌλ‘ μ¬λ¦¬λ κΈμμ 미리 μ립λλ€.
μμ λ°μ΄ν° νμ
(κΈ°λ³Έ λ°μ΄ν° νμ
)
λ°μ΄ν° νμ
μ΄λ λ°μ΄ν°μ ννλ₯Ό μλ―Ένλ€.
λ°μ΄ν° νμ
μ ν¬κ² λκ°μ§λ‘ ꡬλΆν μ μλ€. κ°μ²΄μ κ°μ²΄κ° μλ κ².
κ·ΈλΌ κ°μ²΄κ° μλ κ²μ 무μμΌκΉ?
- μ«μ
- λ¬Έμμ΄
- λΆλ¦¬μΈ(true/false)
- null
- undefined
κ°μ²΄κ° μλ λ°μ΄ν° νμ
μ μμ λ°μ΄ν° νμ
(primitive type)μ΄λΌκ³ νλ€.
κ·Έ μΈμ λͺ¨λ λ°μ΄ν° νμ
λ€μ κ°μ²΄λ€. μ¦ κ°μ²΄λ°μ΄ν° νμ
(μ°Έμ‘° λ°μ΄ν° νμ
)μ΄λ€.
λ νΌ κ°μ²΄
μλ μ½λλ₯Ό 보μ.
<script>
var str = 'coding';
//str = new String('coding'); κ³Ό κ°μ μ½λκ° μ¬μ€ μλ κ²!
console.log(str.length); // 6
console.log(str.charAt(0)); // "C"
</script>
μ μ½λλ₯Ό μ΄ν΄λ³΄λ©΄ μ΄κ²μ λ¬Έμμ΄μ΄κΈ° λλ¬Έμ μμλ°μ΄ν° μ΄λ€. νμ§λ§ κ°μ²΄μ ννλ₯Ό λκ³ μλ€.
. μ΄ μλ―Ένλ λ»μ Object access Operatorλ‘ κ²°κ΅ κ°μ²΄λ₯Ό μ΄μ΄μ£Όλ κ²μ΄λ€.
κ·Έλ κΈ° λλ¬Έμ κ·Έ κ°μ²΄μ νλ‘νΌν°, λ©μλκ° μ‘΄μ¬νλ κ²μ΄λ€.
λ¬Έμμ΄κ³Ό κ°μ μμλ°μ΄ν° νμ
μ κ°μ²΄λ‘μ¨ μ¬μ©ν λ μμλ‘ κ°μ²΄λ‘ λ§λ€μ΄ μ€λ€.
λ¬Έμμ΄μ λΆλͺ
ν νλ‘νΌν°μ λ©μλκ° μλ€. κ·Έλ λ€λ©΄ κ°μ²΄λ€.
κ·Έλ°λ° μ λ¬Έμμ΄μ΄ κ°μ²΄κ° μλλΌκ³ ν κΉ?
κ·Έκ²μ λ΄λΆμ μΌλ‘ λ¬Έμμ΄μ΄ μμ λ°μ΄ν° νμ
μ΄κ³ λ¬Έμμ΄κ³Ό κ΄λ ¨λ μ΄λ€ μμ
μ νλ €κ³ ν λ μλ°μ€ν¬λ¦½νΈλ μμλ‘ λ¬Έμμ΄ κ°μ²΄λ₯Ό λ§λ€κ³ μ¬μ©μ΄ λλλ©΄ μ κ±°νκΈ° λλ¬Έμ΄λ€.
μ΄λ¬ν μ²λ¦¬λ λ΄λΆμ μΌλ‘ μΌμ΄λλ€. κ·Έλ κΈ° λλ¬Έμ λͺ°λΌλ λλ€.
νμ§λ§ μμ λ°μ΄ν° νμ
κ³Ό κ°μ²΄λ μ’ λ€λ₯Έ λμ λ°©λ²μ κ°μ§κ³ μκΈ° λλ¬Έμ μ΄λ€μ λΆλ³νλ κ²μ κ²°κ΅μ νμνλ€.
<script>
var str = 'coding';
str.prop = 'everybody'; //μλ¬κ° λ¨μ§ μμ. μ΄κ²μ΄ μλ―Ένλ κ²μ λ¬Έμμ΄μ κ°μ²΄μ²λΌ μ¬μ©νλ €κ³ νλ€λ©΄
//μλ°μ€ν¬λ¦½νΈλ λ¬Έμμ΄μ λ΄λΆμ μΌλ‘ κ°μ²΄ν μν€λ κ²μ΄λ€.
console.log(str.prop); // undefined νμ§λ§ μ μ κ°μ Έμ€λ € νλ©΄ μ μλμ΄ μμ§ μλ€.
//μ¦ μκ°μ κ°μ²΄κ° μκΈ°μ§λ§ μ¬μ©νλ € νλ©΄ μ¬λΌμ§κΈ° λλ¬Έμ μλκ²κ³Ό κ°λ€.
</script>
str.propλ₯Ό νλ μκ°μ μλ°μ€ν¬λ¦½νΈ λ΄λΆμ μΌλ‘ String κ°μ²΄κ° λ§λ€μ΄μ§λ€.
prop νλ‘νΌν°λ μ΄ κ°μ²΄μ μ μ₯λκ³ μ΄ κ°μ²΄λ 곧 μ κ±° λλ€. κ·Έλ κΈ° λλ¬Έμ propλΌλ μμ±μ΄ μ μ₯λ κ°μ²΄λ μ‘΄μ¬νμ§ μκ²λλ€. μ΄λ¬ν νΉμ§μ μΌλ°μ μΈ κ°μ²΄μ λμ λ°©λ²κ³Όλ λ€λ₯΄λ€.
νμ§λ§ λ¬Έμμ΄κ³Ό κ΄λ ¨ν΄μ νμν κΈ°λ₯μ±μ κ°μ²΄μ§ν₯μ μΌλ‘ μ 곡ν΄μΌ νλ νμ λν μκΈ° λλ¬Έμ μμ λ°μ΄ν° νμ κ°μ²΄μ²λΌ λ€λ£° μ μλλ‘ νκΈ° μν κ°μ²΄λ₯Ό μλ°μ€ν¬λ¦½νΈλ μ 곡νκ³ μλλ° κ·Έκ²μ΄ λ νΌκ°μ²΄(wrapper object)λ€.
λ νΌκ°μ²΄λ‘λ String, Number, Booleanμ΄ μλ€. nullκ³Ό undefinedλ λ νΌ κ°μ²΄κ° μ‘΄μ¬νμ§ μλλ€.
κ²°κ΅ μμ λ°μ΄ν°λ κ°μ²΄κ° μλκΈ° λλ¬Έμ μλ κ°μ²΄μ²λΌ μ¬μ©ν μ μμ§λ§
"λ νΌκ°μ²΄" λλΆμ μμμ μ¬μ©νλ λͺ¨λ κ²μ΄ κ°λ₯ν κ²μ΄λ€.
λ§μ§λ§μΌλ‘ λ€μ νλ² μ΄ν΄λ³΄μ. λ€μ λΉ¨κ°μμΌλ‘ νμλ λΆλΆμ΄ λ°λ‘ "λ νΌκ°μ²΄"μΈκ²μ΄λ€.
- μ«μ Number
- λ¬Έμμ΄ String
- λΆλ¦¬μΈ(true/false) Boolean
- null μ‘΄μ¬ x
- undefined μ‘΄μ¬ x
μ‘΄μ¬ νμ§ μλ κ²λ€μ : null.prop = 'haeun' μ΄λ°μμΌλ‘ μμ± μ νμ
μλ¬κ° λ°μνκ² λλ€.