Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitac36cd0

Browse files
minor fixes
1 parentca71255 commitac36cd0

File tree

4 files changed

+24
-24
lines changed

4 files changed

+24
-24
lines changed

‎1-js/05-data-types/03-string/article.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#문자열
22

3-
자바스크립트엔문자 하나만 저장할 수 있는 별도의 자료형이 없습니다. 텍스트 형식의 데이터는 길이에 상관없이 문자열에 저장합니다.
3+
자바스크립트엔글자 하나만 저장할 수 있는 별도의 자료형이 없습니다. 텍스트 형식의 데이터는 길이에 상관없이 문자열에 저장합니다.
44

55
자바스크립트의 문자열은 페이지 인코딩 방식과 상관없이 항상[UTF-16](https://en.wikipedia.org/wiki/UTF-16) 방식을 따릅니다.
66

‎1-js/05-data-types/06-iterable/article.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

2-
#Iterable 객체
2+
#iterable 객체
33

44
*반복 가능한(iterable, 이터러블)* 객체는 배열을 일반화한 객체입니다. 이터러블 이라는 개념을 사용하면 어떤 객체에든`for..of` 반복문을 적용할 수 있습니다.
55

‎1-js/08-prototypes/01-prototype-inheritance/article.md

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ alert( rabbit.jumps ); // true
7171

7272
이제 "`rabbit`의 프로토타입은`animal`입니다."나 "`rabbit``animal`을 상속받는다."라고 할 수 있게 되었네요.
7373

74-
덕분에`rabbit`에서도`animal`에 구현된 유용한 프로퍼티와 메서드를 사용할 수 있게 되었습니다. 이렇게 프로토타입에서 상속받은프로퍼티는 "상속받은(inherited)" 프로퍼티라고 합니다.
74+
덕분에`rabbit`에서도`animal`에 구현된 유용한 프로퍼티와 메서드를 사용할 수 있게 되었습니다. 이렇게 프로토타입에서 상속받은프로퍼티를 '상속 프로퍼티(inherited property)'라고 합니다.
7575

7676
`animal`에 정의된 메서드를`rabbit`에서 호출해 봅시다.
7777

@@ -124,7 +124,7 @@ let longEar = {
124124
*/!*
125125
};
126126

127-
// 메서드 walk는 프로토타입 체인에서얻어옵
127+
// 메서드 walk는 프로토타입 체인에서얻어옴
128128
longEar.walk();// 동물이 걷습니다.
129129
alert(longEar.jumps);// true (rabbit에서 상속받음)
130130
```
@@ -142,9 +142,9 @@ alert(longEar.jumps); // true (rabbit에서 상속받음)
142142

143143
프로토타입은 프로퍼티를 읽을 때만 사용합니다.
144144

145-
프로퍼티를쓰거나(추가하거나) 지우는 연산은 객체에 직접 해야 합니다.
145+
프로퍼티를추가, 수정하거나 지우는 연산은 객체에 직접 해야 합니다.
146146

147-
아래예시에서 객체`rabbit`에 메서드`walk`를 직접할당해보았습니다.
147+
아래예시에선 객체`rabbit`에 메서드`walk`를 직접할당합니다.
148148

149149
```js run
150150
let animal= {
@@ -167,11 +167,11 @@ rabbit.walk = function() {
167167
rabbit.walk();// 토끼가 깡충깡충 뜁니다.
168168
```
169169

170-
`rabbit.walk()`를 호출하면이젠프로토타입에 있는 메서드가 실행되지 않고 객체`rabbit`설정된 메서드가 실행됩니다.
170+
`rabbit.walk()`를 호출하면 프로토타입에 있는 메서드가 실행되지 않고, 객체`rabbit`추가한 메서드가 실행됩니다.
171171

172172
![](proto-animal-rabbit-walk-2.svg)
173173

174-
그런데 접근자 프로퍼티(accessor property)는 setter 함수를 통해서 프로퍼티에 값을 할당하므로예외에 속합니다. 접근자 프로퍼티에 값을 할당하는 것은 함수를 호출하는 것과 같기 때문입니다.
174+
한편, 접근자 프로퍼티(accessor property)는 setter 함수를 통해서 프로퍼티에 값을 할당하므로이 규칙이 적용되지 않습니다. 접근자 프로퍼티에 값을 할당하는 것은 함수를 호출하는 것과 같기 때문입니다.
175175

176176
아래 예시에서`admin.fullName`이 의도한 대로 잘 작동하는 것을 확인할 수 있습니다.
177177

@@ -210,7 +210,7 @@ admin.fullName = "Alice Cooper"; // (**)
210210

211211
**메서드를 객체에서 호출했든 프로토타입에서 호출했든 상관없이`this`는 언제나`.` 앞에 있는 객체가 됩니다.**
212212

213-
위 예시에서`admin.fullName=`으로 setter 함수를 호출할 때,`this``user`가 아닌`admin`이 되죠.
213+
`admin.fullName=`으로 setter 함수를 호출할 때,`this``user`가 아닌`admin`이 되죠.
214214

215215
메서드가 많이 구현되어있는 중심 객체 하나를 만들고, 이 객체를 상속받는 다양한 객체를 구현하는 경우가 많기 때문에 이런 특징을 잘 알아두셔야 합니다. 상속받은 메서드를 사용하더라도 객체는 프로토타입이 아닌 자신의 상태를 수정합니다.
216216

@@ -243,7 +243,7 @@ alert(rabbit.isSleeping); // true
243243
alert(animal.isSleeping);// undefined (프로토타입에는 isSleeping이라는 프로퍼티가 없습니다.)
244244
```
245245

246-
위 코드를 실행한 후, 객체의 상태를 그림으로 나타내면아래와 같습니다.
246+
위 코드를 실행한 후, 객체의 상태를 그림으로 나타내면다음과 같습니다.
247247

248248
![](proto-animal-rabbit-walk-3.svg)
249249

@@ -253,7 +253,7 @@ alert(animal.isSleeping); // undefined (프로토타입에는 isSleeping이라
253253

254254
##for..in 반복문
255255

256-
`for..in`상속받은 프로퍼티도 순회대상에 포함시킵니다.
256+
`for..in`상속 프로퍼티도 순회대상에 포함시킵니다.
257257

258258
예시:
259259

@@ -273,14 +273,14 @@ alert(Object.keys(rabbit)); // jumps
273273
*/!*
274274

275275
*!*
276-
// for..in은 객체 자신의 키와상속받은 프로퍼티의 키 모두를 순회합니다.
276+
// for..in은 객체 자신의 키와상속 프로퍼티의 키 모두를 순회합니다.
277277
for(let propin rabbit)alert(prop);// jumps, eats
278278
*/!*
279279
```
280280

281-
[obj.hasOwnProperty(key)](mdn:js/Object/hasOwnProperty)를 이용하면상속받은 프로퍼티를 순회 대상에서 제외할 수 있습니다. 이 내장 메서드는`key`에 대응하는 프로퍼티가상속받은 프로퍼티가 아니고`obj`에 직접 구현되어있는 프로퍼티라면`true`를 반환합니다.
281+
[obj.hasOwnProperty(key)](mdn:js/Object/hasOwnProperty)를 이용하면상속 프로퍼티를 순회 대상에서 제외할 수 있습니다. 이 내장 메서드는`key`에 대응하는 프로퍼티가상속 프로퍼티가 아니고`obj`에 직접 구현되어있는 프로퍼티라면`true`를 반환합니다.
282282

283-
`obj.hasOwnProperty(key)`를 사용하면 아래 예시에서처럼상속받은 프로퍼티를 걸러낼수도 있고,상속받은 프로퍼티만을 대상으로 무언가를 할 있습니다.
283+
`obj.hasOwnProperty(key)`를 사용하면 아래 예시에서처럼상속 프로퍼티를 걸러낼 있고,상속 프로퍼티만을 대상으로 무언가를 할수도 있습니다.
284284

285285
```js run
286286
let animal= {
@@ -298,7 +298,7 @@ for(let prop in rabbit) {
298298
if (isOwn) {
299299
alert(`객체 자신의 프로퍼티:${prop}`);// 객체 자신의 프로퍼티: jumps
300300
}else {
301-
alert(`상속받은 프로퍼티:${prop}`);//상속받은 프로퍼티: eats
301+
alert(`상속 프로퍼티:${prop}`);//상속 프로퍼티: eats
302302
}
303303
}
304304
```
@@ -309,14 +309,14 @@ for(let prop in rabbit) {
309309

310310
`for..in` 안에 쓰인 메서드`hasOwnProperty``Object.prototype.hasOwnProperty`에서 왔다는 것을 그림을 통해 알 수 있습니다.
311311

312-
엇? 그런데상속받은 프로퍼티인`eats`는 얼럿 창에 출력되는데,`hasOwnProperty`는 출력되지 않았습니다. 무슨 일이 있는 걸까요?
312+
엇? 그런데상속 프로퍼티인`eats`는 얼럿 창에 출력되는데,`hasOwnProperty`는 출력되지 않았습니다. 무슨 일이 있는 걸까요?
313313

314-
이유는 간단합니다.`hasOwnProperty`는 열거 가능한(enumerable) 프로퍼티가 아니기 때문입니다.`Object.prototype`에 있는 모든 메서드의`enumerable` 플래그는`false`인데,`for..in`은 오직 열거 가능한 프로퍼티만 순회 대상에 포함하기 때문에 얼럿창에 출력되지않았습니다.
314+
이유는 간단합니다.`hasOwnProperty`는 열거 가능한(enumerable) 프로퍼티가 아니기 때문입니다.`Object.prototype`에 있는 모든 메서드의`enumerable` 플래그는`false`인데,`for..in`은 오직 열거 가능한 프로퍼티만 순회 대상에 포함하기 때문에`hasOwnProperty`얼럿창에 출력되지않습니다.
315315

316-
```smart header="키-값을 순회하는 메서드 대부분은상속받은 프로퍼티를 제외하고 동작합니다."
317-
`Object.keys`, `Object.values` 같이 객체의 키-값을 대상으로 무언가를 하는 메서드 대부분은상속받은 프로퍼티를 제외하고 동작합니다.
316+
```smart header="키-값을 순회하는 메서드 대부분은상속 프로퍼티를 제외하고 동작합니다."
317+
`Object.keys`, `Object.values` 같이 객체의 키-값을 대상으로 무언가를 하는 메서드 대부분은상속 프로퍼티를 제외하고 동작합니다.
318318
319-
프로토타입에서 상속받은 프로퍼티는 *제외하고* 해당 객체에서 정의한 프로퍼티만 연산 대상에포함하죠.
319+
프로토타입에서 상속받은 프로퍼티는 *제외하고*, 해당 객체에서 정의한 프로퍼티만 연산 대상에포함합니다.
320320
```
321321

322322
##요약
@@ -327,4 +327,4 @@ for(let prop in rabbit) {
327327
-`obj`에서 프로퍼티를 읽거나 메서드를 호출하려 하는데 해당하는 프로퍼티나 메서드가 없으면 자바스크립트는 프로토타입에서 프로퍼티나 메서드를 찾습니다.
328328
- 접근자 프로퍼티가 아닌 데이터 프로퍼티를 다루고 있다면, 쓰기나 지우기와 관련 연산은 프로토타입을 통하지 않고 객체에 직접 적용됩니다.
329329
- 프로토타입에서 상속받은`method`라도`obj.method()`를 호출하면`method` 안의`this`는 호출 대상 객체인`obj`를 가리킵니다.
330-
-`for..in` 반복문은 객체 자체에서 정의한 프로퍼티뿐만 아니라상속받은 프로퍼티도 순회 대상에 포함합니다. 반면, 키-값과 관련된 내장 메서드 대부분은상속받은 프로퍼티는 제외하고 객체 자체 프로퍼티만을 대상으로 동작합니다.
330+
-`for..in` 반복문은 객체 자체에서 정의한 프로퍼티뿐만 아니라상속 프로퍼티도 순회 대상에 포함합니다. 반면, 키-값과 관련된 내장 메서드 대부분은상속 프로퍼티는 제외하고 객체 자체 프로퍼티만을 대상으로 동작합니다.

‎1-js/08-prototypes/02-function-prototype/article.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ let rabbit2 = new rabbit.constructor("Black Rabbit");
105105
*/!*
106106
```
107107

108-
객체가 있는데 이 객체를 만들 때 어떤 생성자가 사용되었는지 알 수 없는 경우(예: 객체가 서드 파티 라이브러리에서 온 경우)방식이 유용합니다.
108+
객체가 있는데 이 객체를 만들 때 어떤 생성자가 사용되었는지 알 수 없는 경우(예: 객체가 서드 파티 라이브러리에서 온 경우),방식법을 유용하게 쓸 수 있습니다.
109109

110110
어느 방식을 사용해 객체를 만들든`"constructor"`에서 가장 중요한 점은 다음과 같습니다.
111111

@@ -129,7 +129,7 @@ alert(rabbit.constructor === Rabbit); // false
129129
*/!*
130130
```
131131

132-
이런 상황을 방지하고 알맞은`constructor`를 유지하려면`"prototype"` 전체를 덮어쓰지 말고 기본`"prototype"`에 원하는 프로퍼티를 추가/제거하시기 바랍니다.
132+
이런 상황을 방지하고 알맞은`constructor`를 유지하려면`"prototype"` 전체를 덮어쓰지 말고 기본`"prototype"`에 원하는 프로퍼티를 추가/제거해야 합니다.
133133

134134
```js
135135
functionRabbit() {}
@@ -162,7 +162,7 @@ Rabbit.prototype = {
162162

163163
- `F.prototype` 프로퍼티(`[[prototype]]`과는 다름)는 `new F()`를 호출할 때 만들어지는 새로운 객체의 `[[Prototype]]`을 설정합니다.
164164
- `F.prototype`의 값은 객체나 null만 가능합니다. 다른 값은 무시됩니다.
165-
- `"prototype"` 프로퍼티는생성자함수에 설정하고`new`를사용할때만위와 같은 효과를 발휘합니다.
165+
-지금까지 배운 내용은 생성자 함수에`"prototype"`를 설정하고, 이생성자함수를`new`를사용해 호출할때만적용됩니다.
166166

167167
일반 객체에 `"prototype"` 프로퍼티를 사용하면 아무런 일이 일어나지 않습니다.
168168
```js

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp