Skip to content
This repository was archived by the owner on Apr 23, 2020. It is now read-only.

Commit 1ead5dc

Browse files
guyeolyeonjuandvlprsh
authored
iterators and generators 검토 (#190)
* iterator and generator 검토 * Update iterators-and-generators.md Co-Authored-By: YeonJuan <yeonjuan93@naver.com> * Update iterators-and-generators.md Co-Authored-By: seoheePark <dvlprsh103@gmail.com> Co-authored-by: YeonJuan <yeonjuan93@naver.com> Co-authored-by: seoheePark <dvlprsh103@gmail.com>
1 parent 1e6c84d commit 1ead5dc

File tree

1 file changed

+16
-21
lines changed

1 file changed

+16
-21
lines changed

iterators-and-generators.md

Lines changed: 16 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,25 @@
1-
# 반복자와 생성자 (Iterators and Generators)
1+
# 이터러블 (Iterables)
22

3-
## 반복 가능 (Iterables)
4-
5-
[`Symbol.iterator`](https://www.typescriptlang.org/docs/handbook/symbols.html#symboliterator) 프로퍼티에 대한 구현이 있는 객체는 반복 가능한 것으로 간주합니다.
6-
`Array`, `Map`, `Set`, `String`, `Int32Array`, `Uint32Array` 등과 같은 일부 내장된 타입에는 이미 `Symbol.iterator` 프로퍼티가 구현되어 있습니다.
3+
객체가 [`Symbol.iterator`](https://www.typescriptlang.org/docs/handbook/symbols.html#symboliterator)프로퍼티에 대한 구현을 가지고 있다면 이터러블로 간주합니다.
4+
`Array`, `Map`, `Set`, `String`, `Int32Array`, `Uint32Array` 등과 같은 일부 내장 타입에는 이미 `Symbol.iterator` 프로퍼티가 구현되어 있습니다.
75
객체의 `Symbol.iterator` 함수는 반복할 값 목록을 반환합니다.
86

9-
## `for..of` (`for..of` statements)
7+
## `for..of`
108

11-
`for..of`반복 가능한 객체를 반복하여 객체의 `Symbol.iterator`프로퍼티를 호출합니다.
9+
`for..of`는 객체의 `Symbol.iterator` 프로퍼티를 호출하여, 이터러블 객체를 반복합니다.
1210
다음은 배열의 간단한 `for..of` 루프입니다:
1311

1412
```ts
1513
let someArray = [1, "string", false];
1614

17-
for (let entry of someArray){
15+
for (let entry of someArray)
1816
console.log(entry); // 1, "string", false
1917
}
2018
```
2119

22-
### `for..of` vs. `for..in` (`for..of` vs. `for..in` statements)
20+
### `for..of` vs. `for..in`
2321

24-
`for..of``for..in` 문 모두 목록을 반복합니다.
25-
반복되는 값은 다르지만 `for..in`은 반복되는 객체의 키 목록을 반환하고 `for..of`는 반복되는 객체의 숫자 프로퍼티 목록을 반환합니다.
22+
`for..of``for..in` 문 모두 목록을 반복합니다; 반복되는 값은 다르지만, `for..in`은 반복되는 객체의 ** 목록을 반환하고, 반면에 `for..of`는 반복되는 객체의 숫자 프로퍼티 ** 목록을 반환합니다.
2623

2724
다음은 이러한 차이점을 보여주는 예입니다.
2825

@@ -38,10 +35,8 @@ for (let i of list){
3835
}
3936
```
4037

41-
또 다른 차이점은 `for..in`은 모든 객체에서 작동한다는 것입니다.
42-
이 객체의 프로퍼티를 검사하는 방법으로 사용됩니다.
43-
반면에 `for..of`는 반복 가능한 객체의 값에 주로 관심이 있습니다.
44-
`Map``Set`과 같은 내장된 객체는 저장된 값에 접근할 수 있는 `Symbol.iterator` 프로퍼티를 구현합니다.
38+
또 다른 차이점은 `for..in`은 모든 객체에서 작동한다는 것입니다; 객체의 프로퍼티를 검사하는 방법으로 사용됩니다.
39+
반면에 `for..of`는 이터러블 객체의 값에 주로 관심이 있습니다. `Map``Set`과 같은 내장 객체는 저장된 값에 접근할 수 있는 `Symbol.iterator` 프로퍼티를 구현합니다.
4540

4641
```ts
4742
let pets = new Set(["Cat", "Dog", "Hamster"]);
@@ -60,10 +55,10 @@ for (let pet of pets){
6055

6156
#### ES5 및 ES3 타게팅 (Targeting ES5 and ES3)
6257

63-
ES5 또는 ES3 호환 엔진을 대상으로하는 경우, 반복자는 배열 유형의 값에만 허용됩니다.
64-
이러한 배열이 아닌 값이 `Symbol.iterator` 속성을 구현하더라도 비 배열 값에서 `for..of` 루프를 사용하면 오류가 발생합니다.
58+
ES5 또는 ES3-호환 엔진을 대상으로 하는 경우, 반복자는 `Array` 유형의 값만 허용합니다.
59+
이런 배열이 아닌 값이 `Symbol.iterator` 프로퍼티를 구현하더라도 배열이 아닌 값에서 `for..of` 루프를 사용하면 오류가 발생합니다.
6560

66-
컴파일러는 `for..of` 루프에 대한 간단한 `for` 루프를 생성합니다. 예를 들면 다음과 같습니다.
61+
컴파일러는 `for..of` 루프에 대한 간단한 `for` 루프를 생성합니다, 예를 들면:
6762

6863
```ts
6964
let numbers = [1, 2, 3];
@@ -72,7 +67,7 @@ for (let num of numbers){
7267
}
7368
```
7469

75-
는 다음과 같이 생성할 것입니다:
70+
는 다음과 같이 생성합니다:
7671

7772
```ts
7873
var numbers = [1, 2, 3];
@@ -82,6 +77,6 @@ for (var _i = 0; _i < numbers.length; _i++){
8277
}
8378
```
8479

85-
#### ESMAScript 2015 및 상위 버전 타케팅 (Targeting ECMAScript 2015 and higher)
80+
#### ECMAScript 2015 및 상위 버전 타케팅 (Targeting ECMAScript 2015 and higher)
8681

87-
ECMAScipt 2015-호환 엔진을 타케팅하는 경우, 컴파일러는 엔진의 내장 반복자를 구현하는 `for..of` 루프를 생성합니다.
82+
ECMAScipt 2015-호환 엔진을 타케팅하는 경우, 컴파일러는 엔진의 내장 반복자 구현을 대상으로 하는 `for..of` 루프를 생성합니다.

0 commit comments

Comments
 (0)