μλ°μ€ν¬λ¦½νΈμ λ°μ΄ν° νμ μ ν¬κ²
μμ νμ
,κ°μ²΄ νμ
μΌλ‘ ꡬλΆνλ€.
μμ νμ μ κ°, μ¦ μμ κ°μ λ³κ²½ λΆκ°λ₯ν κ° λ°λ©΄ κ°μ²΄(μ°Έμ‘°) νμ μ κ°μ λ³κ²½ κ°λ₯ν κ°μ΄λ€.
μμ κ°μ λ³μμ ν λΉνλ©΄ λ³μμλ μ€μ κ°μ΄ μ μ₯ λ°λ©΄ κ°μ²΄λ₯Ό λ³μμ ν λΉνλ©΄ μ°Έμ‘° κ°μ΄ μ μ₯.
- μ°Έμ‘° κ°μ΄λ? λ³μμ μ μ₯λ κ°μ μ½μ΄ λ€μ΄λ κ² μ¦, κ°μ²΄λ μ€μ κ°μ΄ μλ μ€μ κ°μ κ°λ₯΄ν€λ κ°μ μ μ₯νλ€.
μμ νμ μ κ°μ λ³κ²½ λΆκ°λ₯ν κ°
λ³κ²½ λΆκ°λ₯νλ€λ κ²μ λ³μκ° μλλΌ κ°μ λν μ§μ μ΄λ€. μ¦, μμ κ° μ체λ₯Ό λ³κ²½ν μ μλ€λ κ±°μ§ λ³μ κ°μ λ³κ²½ν μ μλ€λ κ²μ μλλ€.
λ³μμ κ°μ ν λΉνλ€λ κ²μ λ©λͺ¨λ¦¬ 곡κ°μ ν보νκ³ ν보ν λ©λͺ¨λ¦¬ 곡κ°μ κ°μ ν λΉνλ€. κ·Έλ¦¬κ³ λ³μμ κ°μ μ½μλλ λ³μκ° μ°Έμ‘°νλ λ©λͺ¨λ¦¬ 곡κ°μ μ½λ κ²μ΄λ€. μ΄ λ μμ νμ μ κ°μ λ³κ²½ λΆκ°λ₯ν κ°μ΄κΈ°μ μμ νμ μ κ°μ μ¬ν λΉνλ ꡬ쑰μμλ λ©λͺ¨λ¦¬ 곡κ°μ μ£Όμκ° λ°λλ€. μ΄λ¬ν νΉμ±μ λΆλ³μ±μ΄λΌνλ€. λΆλ³μ±μ κ°λ μμ κ°μ ν λΉν λ³μλ μ¬ν λΉ μ΄μΈμ λ³μ κ°μ λ³κ²½ν μ μλ λ°©λ²μ΄ μλ€.
π‘ μ μ¬λ°°μ΄ κ°μ²΄λ λ§μΉ λ°°μ΄μ²λΌ μΈλ±μ€λ‘ νλ‘νΌν° κ°μ μ κ·Όν μ μκ³ length νλ‘νΌν°λ₯Ό κ°λ κ°μ²΄λ₯Ό λ§νλ€. λ¬Έμμ΄μ λ§μΉ λ°°μ΄μ²λΌ μΈλ±μ€λ₯Ό ν΅ν΄ κ° λ¬Έμμ μ κ·Όν μ μμΌλ©°, length νλ‘νΌν°λ₯Ό κ°κΈ° λλ¬Έμ μ μ¬ λ°°μ΄ κ°μ²΄μ΄κ³ forλ¬ΈμΌλ‘ μνν μ λ μλ€.
let str = "string";
// λ¬Έμμ΄μ μ μ¬ λ°°μ΄μ΄λ―λ‘ λ°°μ΄κ³Ό μ μ¬νκ² μΈλ±μ€λ₯Ό μ¬μ©ν΄ κ° λ¬Έμμ μ κ·Όν μ μλ€.
console.log(str[0]) // s;
// μμ κ°μΈ λ¬Έμμ΄μ΄ κ°μ²΄μ²λΌ λμνλ€.
console.log(str.length) // 6
console.log(str.toUpperCase()); // STRING
// λ¬Έμμ΄μ μμ κ°μ΄λ―λ‘ λ³κ²½ν μ μλ€. μ΄λ μλ¬λ λ°μνμ§ μλλ€.
str[0] = 'S' ;
console.log(str) // string
var score = 80
var copy = score
console.log(score,copy) // 80, 80
score = 100
console.log(score,copy) // 100,80
λ³μμ λ³μλ₯Ό ν λΉνλ κ²½μ°, ν λΉλλ λ³μ(score)κ° μμκ°μ κ°λ λ³μλΌλ©΄ ν λΉλ°λ λ³μ(copy)μλ ν λΉλλ λ³μ(score)μ μμκ°μ΄ 볡μ¬λμ΄ μ λ¬λλ€. μ΄λ₯Ό κ°μ μν μ λ¬(Pass by value)λΌ νλ€.
κ°μ μν μ λ¬μ κ°μ΄ λ°λμ΄μ μ λ¬λλ κ²μ΄ μλλΌ λ©λͺ¨λ¦¬ 곡κ°μ΄ λ°λλ κ²μ΄λ€. κ·Έλ¬λ sroceκ° μ€κ°μ κ°μ΄ λ°λμ΄λ scoreλ©λͺ¨λ¦¬ 곡κ°μ κ°μ΄ λ°λλ κ±°λΌ copyμ μ§μ μ μΈ μν₯μ΄ μλ€. μ¦, λ λ³μμ μμ κ°μ μλ‘ λ€λ₯Έ λ©λͺ¨λ¦¬ 곡κ°μ μ μ₯λ λ³κ°μ κ°μ΄ λμ΄ μ΄λ νμͺ½μμ μ¬ν λΉμ ν΅ν΄ λ³κ²½νλλΌλ μλ‘ κ°μν μ μλ€.
μμ κ°μ ν λΉν λ³μλ₯Ό μ°Έμ‘°νλ©΄ λ©λͺ¨λ¦¬μ μ μ₯λμ΄ μλ μμ κ°μ μ κ·Όνλ€. νμ§λ§ κ°μ²΄λ₯Ό ν λΉν λ³μλ₯Ό μ°Έμ‘°νλ©΄ λ©λͺ¨λ¦¬μ μ μ₯λμ΄ μλ μ°Έμ‘° κ°μ ν΅ν΄ μ€μ κ°μ²΄μ μ κ·Ό κ°λ₯νλ€.
μμ κ°μ λ³κ²½ λΆκ°λ₯ν κ°μ΄λ―λ‘ μμ κ°μ κ°λ λ³μμ κ°μ λ³κ²½νλ €λ©΄ μ¬ν λΉμΈμλ λ°©λ²μ΄ μλ€. νμ§λ§ κ°μ²΄λ λ³κ²½κ°λ₯ν κ°μ΄λ€. λ°λΌμ κ°μ²΄λ₯Ό ν λΉν λ³μλ μ¬ν λΉ μμ΄ κ°μ²΄λ₯Ό μ§μ λ³κ²½ν μ μλ€ μ¬ν λΉ μμ΄ νλ‘νΌν°λ₯Ό λμ μΌλ‘ μΆκ°ν μλ μκ³ νλ‘νΌν° κ°μ κ°±μ ν μλ μμΌλ©° νλ‘νΌν° μ체λ₯Ό μμ ν μλ μλ€.
let person = {
name : "noh"
}
person.name ="youngWan"
person.gender = "male"
console.log(person) // {name: "youngWan , gender: "male"}
let person = {
name : "Noh"
};
// μ°Έμ‘° κ°μ 볡μ¬(μμ 볡μ¬). copyμ personμ λμΌν μ°Έμ‘° κ°μ κ°λλ€.
let copy = person;
// copyμ personμ λμΌν κ°μ²΄λ₯Ό μ°Έμ‘°νλ€.
console.log(copy === person); // true
// copyλ₯Ό ν΅ν΄ κ°μ²΄λ₯Ό λ³κ²½νλ€.
copy.name = "younWan"
// personμ ν΅ν΄ κ°μ²΄λ₯Ό λ³κ²½νλ€.
person.address = "Seoul"
// copyμ personμ λμΌν κ°μ²΄λ₯Ό κ°λ₯΄ν¨λ€.
// λ°λΌμ μ΄λ νμͺ½μμ κ°μ²΄λ₯Ό λ³κ²½νλ©΄ μλ‘ μν₯μ μ£Όκ³ λ°λλ€.
console.log(person); // {name: "younWan", address:"Seoul"}
κ°μ²΄λ₯Ό κ°λ₯΄ν€λ λ³μ(μλ³Έ person)λ₯Ό λ€λ₯Έ λ³μ(μ¬λ³Έ, copy)μ ν λΉνλ©΄ μλ³Έμ μ°Έμ‘° κ°μ΄ λ³΅μ¬ λμ΄ μ λ¬ λλ€ μ΄λ₯Ό μ°Έμ‘°μ μν μ λ¬μ΄λΌ νκ³ μ΄κ²μ λ κ°μ μλ³μκ° νλμ κ°μ²΄λ₯Ό 곡μ νλ€λ κ²μ μλ―Ένλ©° μλ³Έ(person) λλ μ¬λ³Έ(copy) μ€ μ΄λ νμͺ½μμ κ°μ²΄λ₯Ό λ³κ²½νλ©΄ μλ‘ μν₯μ μ£Όκ³ λ°λλ€.
κ°μ μν μ λ¬
κ³Όμ°Έμ‘°μ μν μ λ¬
μ μλ³μκ° κΈ°μ΅νλ λ©λͺ¨λ¦¬ 곡κ°μ μ μ₯λμ΄ μλ κ°μ 볡μ¬ν΄μ μ λ¬νλ λ©΄μμ λμΌνλ€.
let person1 = {
name: "noh"
};
let person2 = {
name: "noh"
};
console.log(person1 === person2); // ?
console.log(person1.name === person2.name); // 2)?
console.log(person1 === person2)
κ°μ²΄μ λ΄μ©μ κ°μ§λ§ λ€λ₯Έ λ©λͺ¨λ¦¬μ μ μ₯λ λ³κ°μ κ°μ²΄μ΄λ©°, μ€μ κ°μ μ°Έμ‘°νλ κ²μ΄ μλ κ°μ²΄λ μ°Έμ‘°κ°μ μ°Έμ‘°νκΈ° λλ¬Έμ κ°μ²΄μ λ΄μ©μ΄ κ°μκ±° μλ λ³κ°μ΄λ€ κ³ λ‘ fasleμ΄λ€.
μμ λ¬Έμ μμλ κ°μ²΄λ₯Ό λΉκ΅νλ κ²μΌλ‘ μ°Έμ‘°κ°μ λΉκ΅νλ κ²μ΄μ§λ§console.log(person1.name === person2.name)
μ κ°μΌλ‘ νκ°λ μ μλ ννμμ΄λ€. λΉκ΅ λΆμμ κ°μ΄ λͺ¨λ μμ κ°noh
λ‘ νκ°λλ€. μμ κ°μ μ€μ κ°μ μ°Έμ‘°νκΈ° λλ¬Έμ μ€μ κ°μ΄ κ°μΌλ©΄ κ°μ ννμμ΄λ€. κ³ λ‘ trueμ΄λ€.