Skip to content

Commit b8ddce1

Browse files
authored
Merge pull request #40 from InSeong-So/main
✏️ 6회차 λ¬Έμ„œ μΆ”κ°€ : this
2 parents 45f928b + e2dd807 commit b8ddce1

File tree

5 files changed

+397
-8
lines changed

5 files changed

+397
-8
lines changed

β€ŽJavascript/object.mdβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ ES6λΆ€ν„° 쑰금 더 μœ μ—°ν•˜κ²Œ 객체 λ¦¬ν„°λŸ΄μ„ ν™•μž₯μ‹œν‚¬ 수 μžˆμŠ΅λ‹ˆ
239239

240240
<br>
241241

242-
- 이처럼 `Object.create()` λ©”μ„œλ“œλ‘œ μƒμ„±λœ 객체와, λ©”μ†Œλ“œμ˜ μΈμžκ°€ 된 κ°μ²΄λŠ” μ„œλ‘œ λ‹€λ¦…λ‹ˆλ‹€. μ΄λŠ” μ›μ‹œ κ°’κ³Ό 객체 μ£Όμ†Œλ₯Ό 비ꡐ해보면 μ•Œ 수 있죠. κ·ΈλŸ¬λ‚˜, ν”„λ‘œνΌν‹° 값이 객체 νƒ€μž…μΈ 경우 λ™μΌν•œ μ£Όμ†Œλ₯Ό 바라보고 μžˆκΈ°μ— **얕은 볡사** λ˜μ—ˆλ‹€κ³  ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
242+
- 이처럼 `Object.create()` λ©”μ„œλ“œλ‘œ μƒμ„±λœ 객체와, λ©”μ„œλ“œμ˜ μΈμžκ°€ 된 κ°μ²΄λŠ” μ„œλ‘œ λ‹€λ¦…λ‹ˆλ‹€. μ΄λŠ” μ›μ‹œ κ°’κ³Ό 객체 μ£Όμ†Œλ₯Ό 비ꡐ해보면 μ•Œ 수 있죠. κ·ΈλŸ¬λ‚˜, ν”„λ‘œνΌν‹° 값이 객체 νƒ€μž…μΈ 경우 λ™μΌν•œ μ£Όμ†Œλ₯Ό 바라보고 μžˆκΈ°μ— **얕은 볡사** λ˜μ—ˆλ‹€κ³  ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
243243
- μ΄λŸ¬ν•œ 문제둜 `Object.create()` λ©”μ„œλ“œλŠ” 객체 λ³΅μ‚¬μ˜ κΈ°λŠ₯으둜 ν™œμš©ν•˜κΈ°μ—” 좔가적인 λ‘œμ§μ„ μž‘μ„±ν•  ν•„μš”κ°€ μžˆμŠ΅λ‹ˆλ‹€(μž¬κ·€μ μΈ 호좜). 얕은 볡사, 그와 λŒ€μ‘λ˜λŠ” κ°œλ…μΈ **낖은 볡사**λŠ” λ‹€λ₯Έ μž₯μ—μ„œ λ‹€λ£Ήλ‹ˆλ‹€.
244244

245245

β€ŽJavascript/operator.mdβ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@
155155
- `x === y`, `x !== y`
156156
- 일치 비ꡐ μ—°μ‚°μžλŠ” μ’Œν•­, μš°ν•­μ˜ ν”Όμ—°μ‚°μžκ°€ κ°’κ³Ό νƒ€μž…μ΄ 같을 λ•Œμ—λ§Œ λΉ„κ΅μ˜ κ²°κ³Όλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.
157157
- μ˜ˆμ™Έμ μœΌλ‘œ NaN === NaN은 falseλ‘œμ„œ NaN의 νŠΉμ„± λ•Œλ¬Έμ— 이런 ν˜„μƒμ΄ λ°œμƒν•˜λŠ” κ²ƒμž„μ„ μ•Œμ•„λ‘μ„Έμš”.
158-
- ES6μ—μ„œ μΆ”κ°€λœ `Object.is` λ©”μ†Œλ“œλŠ” μ •ν™•ν•œ 비ꡐ κ²°κ³Όλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.
158+
- ES6μ—μ„œ μΆ”κ°€λœ `Object.is` λ©”μ„œλ“œλŠ” μ •ν™•ν•œ 비ꡐ κ²°κ³Όλ₯Ό λ°˜ν™˜ν•©λ‹ˆλ‹€.
159159
```js
160160
0 == -0; // true
161161
0 === -0; // true

β€ŽJavascript/prototype.mdβ€Ž

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ function Circle(radius) {
6565
// ν”„λ‘œνΌν‹°
6666
this.radius = radius;
6767

68-
// λ©”μ†Œλ“œ
68+
// λ©”μ„œλ“œ
6969
this.getArea = function () {
7070
return Math.PI * this.radius ** 2;
7171
};
@@ -84,7 +84,7 @@ console.log(circle2.getArea()); // 12.56...
8484

8585
μƒμ„±μž ν•¨μˆ˜λŠ” λ™μΌν•œ ν”„λ‘œνΌν‹° ꡬ쑰λ₯Ό κ°–λŠ” 객체λ₯Ό μ—¬λŸ¬ 개 생성할 λ•Œ 맀우 μœ μš©ν•˜μ£ . κ·ΈλŸ¬λ‚˜ 큰 λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€. `this.radius` 같은 ν”„λ‘œνΌν‹° 값은 일반적으둜 μΈμŠ€ν„΄μŠ€λ§ˆλ‹€ λ‹€λ¦…λ‹ˆλ‹€. 같은 μƒνƒœλ₯Ό κ°€μ§„λ‹€λ©΄ ν”„λ‘œνΌν‹°κ°€ 같을 μˆ˜λ„ μžˆμ§€λ§Œ... κ·ΈλŸ¬λ‚˜ `this.getArea()` 같은 λ©”μ„œλ“œλŠ” λͺ¨λ“  μΈμŠ€ν„΄μŠ€κ°€ λ™μΌν•œ λ‚΄μš©μ˜ λ©”μ„œλ“œλ₯Ό μ‚¬μš©ν•˜μ£ .
8686

87-
였, 그럼 μΈμŠ€ν„΄μŠ€λ“€μ€ λ©”μ†Œλ“œλ₯Ό **곡유**ν•˜λŠ” ν˜•νƒœκ°€ λ§žλŠ” 것 κ°™μ•„μš”. 그런데 μœ„μ˜ μ˜ˆμ œμ—μ„œ `console.log(circle1.getArea === circle2.getArea);`의 ꡬ문은 falseκ°€ 좜λ ₯λ©λ‹ˆλ‹€. 이것은 μΈμŠ€ν„΄μŠ€λ₯Ό 생성할 λ•Œλ§ˆλ‹€ λͺ¨λ“  ν”„λ‘œνΌν‹°κ°€ 재 μƒμ„±λ˜λ©΄μ„œ λͺ¨λ“  μΈμŠ€ν„΄μŠ€κ°€ 쀑볡 μ†Œμœ ν•œλ‹€λŠ” 것을 μ‹œμ‚¬ν•˜μ£ .
87+
였, 그럼 μΈμŠ€ν„΄μŠ€λ“€μ€ λ©”μ„œλ“œλ₯Ό **곡유**ν•˜λŠ” ν˜•νƒœκ°€ λ§žλŠ” 것 κ°™μ•„μš”. 그런데 μœ„μ˜ μ˜ˆμ œμ—μ„œ `console.log(circle1.getArea === circle2.getArea);`의 ꡬ문은 falseκ°€ 좜λ ₯λ©λ‹ˆλ‹€. 이것은 μΈμŠ€ν„΄μŠ€λ₯Ό 생성할 λ•Œλ§ˆλ‹€ λͺ¨λ“  ν”„λ‘œνΌν‹°κ°€ 재 μƒμ„±λ˜λ©΄μ„œ λͺ¨λ“  μΈμŠ€ν„΄μŠ€κ°€ 쀑볡 μ†Œμœ ν•œλ‹€λŠ” 것을 μ‹œμ‚¬ν•˜μ£ .
8888

8989
<br>
9090

@@ -123,7 +123,7 @@ console.log(circle2.getArea()); // 12.56...
123123

124124
`console.log(circle1.getArea === circle2.getArea);`의 ꡬ문이 trueκ°€ λ˜μ—ˆλ„€μš”! 무슨 μΌμΌκΉŒμš”?
125125

126-
이 비밀을 밝히자면 μžλ°”μŠ€ν¬λ¦½νŠΈ μ—”μ§„μ˜ ν”„λ‘œν† νƒ€μž… 기반의 상속에 μ˜ν•œ κ²ƒμž…λ‹ˆλ‹€. 쑰금 더 μžμ„Ένžˆ μ„€λͺ…ν•˜μžλ©΄, Circle μƒμ„±μž ν•¨μˆ˜κ°€ μƒμ„±ν•œ λͺ¨λ“  μΈμŠ€ν„΄μŠ€λŠ” μƒμœ„ 객체 역할인 Circle.prototype의 λͺ¨λ“  ν”„λ‘œνΌν‹°μ™€ λ©”μ†Œλ“œλ₯Ό 상속 λ°›κΈ° λ•Œλ¬Έμ΄μ—μš”. getAreaλŠ” Circle의 ν”„λ‘œν† νƒ€μž…μœΌλ‘œ 단 ν•˜λ‚˜λ§Œ μƒμ„±λ˜μ–΄ ν• λ‹Ήλ˜μ—ˆμŠ΅λ‹ˆλ‹€. 그럼 Circle의 μƒμ„±μž ν•¨μˆ˜λ‘œ μƒμ„±λœ λͺ¨λ“  μΈμŠ€ν„΄μŠ€λŠ” getArea λ©”μ„œλ“œλ₯Ό 상속받아 μ‚¬μš©ν•  수 있게 λΌμš”.
126+
이 비밀을 밝히자면 μžλ°”μŠ€ν¬λ¦½νŠΈ μ—”μ§„μ˜ ν”„λ‘œν† νƒ€μž… 기반의 상속에 μ˜ν•œ κ²ƒμž…λ‹ˆλ‹€. 쑰금 더 μžμ„Ένžˆ μ„€λͺ…ν•˜μžλ©΄, Circle μƒμ„±μž ν•¨μˆ˜κ°€ μƒμ„±ν•œ λͺ¨λ“  μΈμŠ€ν„΄μŠ€λŠ” μƒμœ„ 객체 역할인 Circle.prototype의 λͺ¨λ“  ν”„λ‘œνΌν‹°μ™€ λ©”μ„œλ“œλ₯Ό 상속 λ°›κΈ° λ•Œλ¬Έμ΄μ—μš”. getAreaλŠ” Circle의 ν”„λ‘œν† νƒ€μž…μœΌλ‘œ 단 ν•˜λ‚˜λ§Œ μƒμ„±λ˜μ–΄ ν• λ‹Ήλ˜μ—ˆμŠ΅λ‹ˆλ‹€. 그럼 Circle의 μƒμ„±μž ν•¨μˆ˜λ‘œ μƒμ„±λœ λͺ¨λ“  μΈμŠ€ν„΄μŠ€λŠ” getArea λ©”μ„œλ“œλ₯Ό 상속받아 μ‚¬μš©ν•  수 있게 λΌμš”.
127127

128128
즉, μžμ‹ μ˜ μƒνƒœλ₯Ό λ‚˜νƒ€λ‚΄λŠ” λ°μ΄ν„°λŠ” **κ°œλ³„μ μœΌλ‘œ μ†Œμœ **ν•˜κ³ , λ™μΌν•œ κΈ°λŠ₯을 λ‚˜νƒ€λ‚΄λŠ” λ™μž‘μ€ **상속을 톡해 κ³΅μœ ν•˜**λŠ” 것이죠. 이 것이 상속이 κ°€μ§€λŠ” μ½”λ“œμ˜ μž¬μ‚¬μš©μ„± μ΄μ μž…λ‹ˆλ‹€!
129129

0 commit comments

Comments
Β (0)