ν°μ€ν 리 λ·°
[JavaScript] μμ κ°κ³Ό κ°μ²΄μ λΉκ΅
κ°λ°κ°κ΅΄πΈ 2022. 7. 18. 18:08μμκ°κ³Ό κ°μ²΄μ μ°¨μ΄μ
μμκ°κ³Ό κ°μ²΄μ νΉμ§μ μμΈν μμ보기 μμ μ°¨μ΄μ μ νλ‘ μ λ¦¬ν΄ λ³΄κ² μ΅λλ€.
μμκ° | κ°μ²΄ νμ |
λ³κ²½ λΆκ°λ₯ν κ° | λ³κ²½ κ°λ₯ν κ° |
λ³μμ ν λΉνλ©΄ λ³μμ μ€μ κ°μ΄ μ μ₯λ¨ | λ³μμ ν λΉνλ©΄ λ³μμ μ°Έμ‘°κ°μ΄ μ μ₯λ¨ |
λ€λ₯Έ λ³μμ ν λΉνλ©΄ μμ κ°μ΄ 볡μ¬λμ΄ μ λ¬ | λ€λ₯Έ λ³μμ ν λΉνλ©΄ μ°Έμ‘° κ°μ΄ 볡μ¬λμ΄ μ λ¬(μ°Έμ‘°μ μν μ λ¬) |
μμ κ°μ νΉμ§
λ³κ²½ λΆκ°λ₯ν κ°
νλ² μμ±λ μμ κ°μ μ½κΈ° μ μ©κ°μΌλ‘ μμ νμ μ κ°μ λ³κ²½μ΄ λΆκ°λ₯ν κ°μ λλ€.
κ°μ λ³μμ μ μ₯λ λ°μ΄ν°λ‘μ ννμμ΄ νκ°λμ΄ μμ±λ κ²°κ³Όλ₯Ό λ§νκΈ° λλ¬Έμ λ³κ²½ λΆκ°λ₯νλ€λ κ²μ λ³μκ° μλλΌ μμ κ° μ체λ₯Ό λ³κ²½ν μ μλ€λ κ²μ λλ€. λ°λΌμ λΆλ³μ±μ κ°λ μμ κ°μ ν λΉν λ³μλ μ¬ν λΉ μ΄μΈμ λ³μ κ°μ λ³κ²½ν μ μλ λ°©λ²μ΄ μμ΅λλ€.
λ¬Έμμ΄κ³Ό λΆλ³μ±
μμ κ°μ μ μ₯νλ €λ©΄ λ¨Όμ ν보ν΄μΌ νλ λ©λͺ¨λ¦¬ 곡κ°μ ν¬κΈ°λ₯Ό κ²°μ ν΄μΌ νλλ°, λ¬Έμμ΄μ 0κ° μ΄μμ λ¬Έμλ‘ μ΄λ£¨μ΄μ§ μ§ν©μ΄κΈ° λλ¬Έμ λͺ κ°μ λ¬Έμ(1κ° λ¬Έμλ 2λ°μ΄νΈ)λ‘ μ΄λ€μ‘λμ λ°λΌ λ©λͺ¨λ¦¬ 곡κ°μ ν¬κΈ°κ° κ²°μ λ©λλ€.
λν, μλμ κ°μ΄ strμ μμ νλ€λ©΄ 'world'λΌλ μλ‘μ΄ λ¬Έμμ΄μ λ©λͺ¨λ¦¬μ μμ±νκ³ μλ³μ strμ μ΄κ²μ κ°λ₯΄ν€κ² λ©λλ€.
var str = 'Hello';
str = 'world'; // κ°μ μ¬ν λΉ
λ¬Έμμ΄μ μ μ¬ λ°°μ΄ κ°μ²΄μ΄λ©΄μ μ΄ν°λ¬λΈμ΄λ―λ‘ λ°°μ΄κ³Ό μ μ¬νκ² κ° λ¬Έμμ μ κ·Όν μ μμ΅λλ€. νμ§λ§, λ¬Έμμ΄μ μ½κΈ° μ μ© κ°μΌλ‘ λ³κ²½ν μ μκΈ° λλ¬Έμ μλμ κ°μ΄ λ³κ²½μ ν΄λ λ°μλμ§ μμ΅λλ€.
var str = 'string';
str[0] = 'S'; // μ μ¬ λ°°μ΄μ΄κΈ° λλ¬Έμ indexλ‘ μ κ·Ό κ°λ₯
console.log(str); // "string"
κ°μ μν μ λ¬
μλμ μμμ κ°μ΄ κ°μ μ λ¬μ λ³μμ μμ κ°μ κ°λ λ³μλ₯Ό ν λΉνλ©΄ ν λΉλ°λ λ³μ(copy)μλ ν λΉλλ λ³μ(score)μ μμ κ°μ΄ 볡μ¬λμ΄ μ λ¬λλ κ²μ λ§ν©λλ€.
var score = 80; // 80
var copy = score; // 80
score = 100;
console.log(score); // 100
console.log(copy); // 80
κ°μ μν μ λ¬μ΄λΌ νννμ§λ§ λ³μμλ κ°μ΄ μ λ¬λλ κ²μ΄ μλλΌ λ©λͺ¨λ¦¬ μ£Όμκ° μ λ¬λ©λλ€. νμ§λ§ μ€μν κ΄μ μ λ λ³μμ μμ κ°μ μλ‘ λ€λ₯Έ λ©λͺ¨λ¦¬ 곡κ°μ μ μ₯λ λ³κ°μ κ°μ΄ λμ΄ μ΄λ νμͺ½μμ μ¬ν λΉμ ν΅ν΄ κ°μ λ³κ²½νλλΌλ μλ‘ κ°μν μ μλ€λ κ²μ λλ€.
λ°λΌμ μμ μμμμ scoreλ³μμ copyλ³μμ κ° 80μ λ€λ₯Έ λ©λͺ¨λ¦¬ 곡κ°μ μ μ₯λ λ³κ°μ κ°μΌλ‘ scoreμ κ°μ λ³κ²½νλλΌλ μλ‘ κ°μλμ§ μμ΅λλ€.
** μ λ¬λ λ©λͺ¨λ¦¬ μ£Όμλ₯Ό ν΅ν΄ λ©λͺ¨λ¦¬ 곡κ°μ μ κ·Όνλ©΄ κ°μ μ°Έμ‘°ν μλ μμ
κ°μ²΄μ νΉμ§
λ³κ²½ κ°λ₯ν κ°
μ°Έμ‘°κ°μ΄λ κ°μ²΄λ₯Ό ν λΉνλ©΄ λ³μμλ μμ±λ κ°μ²΄κ° μ€μ λ‘ μ μ₯λ λ©λͺ¨λ¦¬ 곡κ°μ μ£Όμκ° μ μ₯λμ΄ μλ€λ κ²μ μλ―Έν©λλ€. κ°μ²΄(μ°Έμ‘°)νμ μ κ°μ λ³κ²½ κ°λ₯ν κ°μΌλ‘, κ°μ²΄λ₯Ό ν λΉν λ³μκ° κΈ°μ΅νλ λ©λͺ¨λ¦¬ μ£Όμλ₯Ό ν΅ν΄ λ©λͺ¨λ¦¬ 곡κ°μ μ κ·Όνλ©΄ μ°Έμ‘°κ°μ μ κ·Όν μ μμ΅λλ€.
λ°λΌμ κ°μ²΄λ νλ‘νΌν°μ κ°μκ° μ ν΄μ Έ μμ§ μκ³ λμ μΌλ‘ μΆκ°λκ³ μμ ν μ μμ΅λλ€. λ°λΌμ μμ κ°κ³Ό λ€λ₯΄κ² ν보ν΄μΌν λ©λͺ¨λ¦¬ 곡κ°μ ν¬κΈ°λ₯Ό μ¬μ μ μ ν΄ λ μ μλ€λ νΉμ§μ΄ μμ΅λλ€.
// ν λΉμ΄ μ΄λ€μ§λ μμ μ κ°μ²΄ 리ν°λ΄μ΄ ν΄μλκ³ κ°μ²΄κ° μμ±
var person = {
name: 'Lee'
};
// person λ³μμ μ μ₯λμ΄ μλ μ°Έμ‘° κ°μΌλ‘ μ€μ κ°μ²΄μ μ κ·Ό
console.log(person); // {name: "Lee"}
person.name = 'Kim'; // νλ‘νΌν° κ° κ°±μ
person.address = 'Seoul'; // νλ‘νΌν° λμ μμ±
console.log(person); // {name: "Kim", address: "Seoul"}
μμ μμμ κ°μ΄ κ°μ²΄λ₯Ό ν λΉν λ³μλ μ¬ν λΉ μμ΄ κ°μ²΄λ₯Ό μ§μ λ³κ²½ν μ μμ΅λλ€. μ΄λ κ°μ²΄λ₯Ό ν λΉν λ³μμ μ¬ν λΉμ νμ§ μμμΌλ―λ‘ κ°μ²΄λ₯Ό ν λΉν λ³μμ μ°Έμ‘° κ°μ λ³κ²½λμ§ μμ΅λλ€.
μ΄λ¬ν λ³κ²½ κ°λ₯ν κ°μλ μ₯λ¨μ μ΄ μ‘΄μ¬ν©λλ€.
- μ₯μ : κ°μ²΄λ₯Ό 볡μ¬ν΄ μμ±νλ λΉμ©μ μ μ½ν΄ λ©λͺ¨λ¦¬λ₯Ό ν¨μ¨μ μΌλ‘ μ¬μ© κ°λ₯ (μμ κ°μ λΉν΄ κ°μ²΄λ ν¬κΈ°κ° λ§€μ° μ»€μ§μ μμ)
- λ¨μ : μ¬λ¬ κ°μ μλ³μκ° νλμ κ°μ²΄λ₯Ό 곡μ ν μ μμ
μ°Έμ‘°μ μν μ λ¬
κ°μ²΄λ₯Ό κ°λ¦¬ν€λ λ³μλ₯Ό λ€λ₯Έ λ³μμ ν λΉνλ©΄ μλ³Έμ μ°Έμ‘° κ°μ΄ 볡μ¬λμ΄ μ λ¬λλ κ²μ μλ―Έν©λλ€.
var person = {
name: 'Lee'
};
// μ°Έμ‘° κ°μ 볡μ¬(μμ 볡μ¬)
var copy = person;
// copyμ personμ λμΌν μ°Έμ‘° κ°μ κ°μ§
console.log(person === copy); // true
copy.name = 'Kim';
person.address = 'Seoul';
console.log(person); // {name: "Kim", address: "Seoul"}
console.log(copy); // {name: "Kim", address: "Seoul"}
μμ μμμ κ°μ΄ μλ³Έ personκ³Ό μ¬λ³Έ copyλ μ μ₯λ λ©λͺ¨λ¦¬ μ£Όμλ λ€λ₯΄μ§λ§ λμΌν μ°Έμ‘° κ°μ κ°μ§κ² λκ³ , μ΄λ₯Ό λ κ°μ μλ³μκ° νλμ κ°μ²΄λ₯Ό 곡μ νλ€κ³ μ΄μΌκΈ° ν©λλ€.
κ²°κ΅ "κ°μ μν μ λ¬"κ³Ό "μ°Έμ‘°μ μν μ λ¬"μ μλ³μκ° κΈ°μ΅νλ λ©λͺ¨λ¦¬ 곡κ°μ μ μ₯λμ΄ μλ κ°μ 볡μ¬ν΄μ μ λ¬νλ λ©΄μμλ λμΌνμ§λ§, λ³μμ μ μ₯λμ΄ μλ κ°μ΄ μμ κ°μ΄λ μ°Έμ‘° κ°μ΄λμ μ°¨μ΄μ μ΄ μμ΅λλ€.
[μΆμ²] λͺ¨λ μλ°μ€ν¬λ¦½νΈ Deep Dive
λͺ¨λ μλ°μ€ν¬λ¦½νΈ Deep Dive: μλ°μ€ν¬λ¦½νΈμ κΈ°λ³Έ κ°λ κ³Ό λμ μ리
269κ°μ κ·Έλ¦Όκ³Ό μ리λ₯Ό νν€μΉλ μ€λͺ μΌλ‘ ‘μλ°μ€ν¬λ¦½νΈμ κΈ°λ³Έ κ°λ κ³Ό λμ μ리’λ₯Ό μ΄ν΄νμ! μΉνμ΄μ§μ λ¨μν 보쑰 κΈ°λ₯μ μ²λ¦¬νκΈ° μν μ νμ μΈ μ©λλ‘ νμ΄λ μλ°μ€ν¬λ¦½νΈλ κ³Όλ
wikibook.co.kr
'JavaScript > λͺ¨λ μλ°μ€ν¬λ¦½νΈ Deep Dive' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[JavaScript] μ€μ½ν (0) | 2022.07.20 |
---|---|
[JavaScript] ν¨μ (0) | 2022.07.19 |
[JavaScript] κ°μ²΄ 리ν°λ΄ (0) | 2022.07.18 |
[JavaScript] νμ λ³νκ³Ό λ¨μΆ νκ° (0) | 2022.07.15 |
[JavaScript] μ μ΄λ¬Έ (0) | 2022.07.15 |
- Total
- Today
- Yesterday
- ν¬ν¬μΈν°
- μ΄λΆνμ
- git
- λ μ컬 νκ²½
- νλ‘νΌν°
- κ°μ²΄μ§ν₯ νλ‘κ·Έλλ°
- λ°±μ€ javascript
- map
- λ€νΈμν¬
- λ°±μ€ node.js
- ν¨μν νλ‘κ·Έλλ°
- fp
- JavaScript
- λμμΈ ν¨ν΄
- μΉ΄μΉ΄μ€ μΈν΄
- μ΄μ체μ
- μ μ λ³μ
- μ½λ©ν μ€νΈ
- λ€μ΄λλ―Ή νλ‘κ·Έλλ°
- 2019 μΉ΄μΉ΄μ€ κ°λ°μ κ²¨μΈ μΈν΄
- λͺ¨λ μλ°μ€ν¬λ¦½νΈ deep dive
- λ°±μ€
- http
- νλ‘κ·Έλλ¨Έμ€
- Baekjoon
- μλ°
- μκ³ λ¦¬μ¦
- TDD
- μλ°μ€ν¬λ¦½νΈ
- νλ‘ν μ½
μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
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 |