Skip to content

Commit 579e36f

Browse files
committed
[번역] 리뷰 반영
1 parent f2713c0 commit 579e36f

4 files changed

Lines changed: 19 additions & 19 deletions

File tree

1-js/06-advanced-functions/08-settimeout-setinterval/article.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -288,13 +288,13 @@ setTimeout(function run() {
288288

289289
- `setInterval(func, delay, ...args)``setTimeout(func, delay, ...args)``delay`밀리초 후에 `func`을 규칙적으로, 또는 한번 실행하도록 해줍니다.
290290
- `setTimeout·setInterval`을 호출하고 반환받은 값을 `clearTimeout·clearInterval`에 넘겨주면 스케줄링을 취소할 수 있습니다.
291-
- 중첩 `setTimeout`을 사용하면 `setInterval`을 사용한 것보다 유연하게 코드를 작성할 수 있습니다. 여기에 더하여 실행 *사이의* 지연 간격을 더 정확하게 조절할 수 있게 해줍니다.
291+
- 중첩 `setTimeout`을 사용하면 `setInterval`을 사용한 것보다 유연하게 코드를 작성할 수 있습니다. 여기에 더하여 실행 *지연 간격* 보장이라는 장점도 있습니다.
292292
- 대기 시간이 0인 setTimeout(`setTimeout(func, 0)` 혹은 `setTimeout(func)`)을 사용하면 '현재 스크립트의 실행이 완료된 후 가능한 한 빠르게' 원하는 함수를 호출할 수 있습니다.
293293
- 지연 없이 중첩 `setTimeout`을 5회 이상 호출하거나 지연 없는 `setInterval`에서 호출이 5회 이상 이뤄지면, 4밀리초 이상의 지연 간격이 강제로 더해집니다. 이는 브라우저에만 적용되는 사항이며, 하위 호환성을 위해 유지되고 있습니다.
294294

295295
스케줄링 메서드를 사용할 땐 명시한 지연 간격이 *보장*되지 않을 수도 있다는 점에 유의해야 합니다.
296296

297-
아래와 같은 여러 이유로 브라우저 내 타이머가 느려질 수 있습니다.
297+
아래와 같은 상황에서 브라우저 내 타이머가 느려지면 지연 간격이 보장되지 않습니다.
298298
- CPU가 과부하 상태인 경우
299299
- 브라우저 탭이 백그라운드 모드인 경우
300300
- 노트북이 배터리 절약 모드인 경우

1-js/06-advanced-functions/09-call-apply-decorators/article.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,10 @@ function cachingDecorator(func) {
3636

3737
slow = cachingDecorator(slow);
3838

39-
alert( slow(1) ); // slow(1)를 캐시에 저장하고 결과를 반환합니다.
39+
alert( slow(1) ); // slow(1)를 캐싱하고 결과를 반환합니다.
4040
alert( "다시 호출: " + slow(1) ); // 캐시에서 slow(1)의 결과를 가져옵니다.
4141

42-
alert( slow(2) ); // slow(2)를 캐시에 저장하고 결과를 반환합니다.
42+
alert( slow(2) ); // slow(2)를 캐싱하고 결과를 반환합니다.
4343
alert( "다시 호출: " + slow(2) ); // 캐시에서 slow(2)의 결과를 가져옵니다.
4444
```
4545

1-js/06-advanced-functions/10-bind/article.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ alert( double(5) ); // = mul(2, 5) = 10
245245
246246
이런 방식을 [부분 적용(partial application)](https://en.wikipedia.org/wiki/Partial_application)이라고 부릅니다. 부분 적용을 사용하면 기존 함수의 매개변수를 고정하여 새로운 함수를 만들 수 있습니다.
247247
248-
위 예시에선 `this`를 사용하지 않았다는 점에 주목합니다. 그런데 `bind`는 컨텍스트가 필요하므로 `null` 같은 값을 넣어줘야 합니다.
248+
위 예시에선 `this`를 사용하지 않았다는 점에 주목하기 바랍니다. `bind`엔 컨텍스트를 항상 넘겨줘야 하므로 `null`을 사용했습니다.
249249
250250
부분 적용을 사용해 3을 곱해주는 함수 `triple`을 만들어보겠습니다.
251251

1-js/07-object-properties/01-property-descriptors/article.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919

2020
자 이제 본격적으로 프로퍼티 플래그에 대해 다뤄봅시다. 먼저 플래그를 얻는 방법을 알아보겠습니다.
2121

22-
[Object.getOwnPropertyDescriptor](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyDescriptor) 메서드를 사용하면 특정 프로퍼티에 대한 정보를 *모두* 얻을 수 있습니다.
22+
[Object.getOwnPropertyDescriptor](https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyDescriptor) 메서드를 사용하면 특정 프로퍼티에 대한 정보를 *모두* 얻을 수 있습니다.
2323

2424
문법:
2525
```js
@@ -54,7 +54,7 @@ alert( JSON.stringify(descriptor, null, 2 ) );
5454
*/
5555
```
5656

57-
메서드 [Object.defineProperty](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty)를 사용하면 플래그를 변경할 수 있습니다.
57+
메서드 [Object.defineProperty](https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperty)를 사용하면 플래그를 변경할 수 있습니다.
5858

5959
문법:
6060

@@ -121,7 +121,7 @@ user.name = "Pete"; // Error: Cannot assign to read only property 'name'
121121
이제 `defineProperty`를 사용해 `writable` 플래그를 `true`로 변경하지 않는 한 그 누구도 객체의 이름을 변경할 수 없게 되었습니다.
122122

123123
```smart header="에러는 엄격 모드에서만 발생합니다."
124-
비 엄격 모드에선 쓰기 불가 프로퍼티 등에 값을 써도 에러가 발생하지 않습니다. 다만 이때 값을 변경하는 것은 불가능합니다. 비 엄격 모드에선 이와 같이 플래그에서 정한 규칙을 위반하는 행위는 에러 없이 그냥 무시됩니다.
124+
비 엄격 모드에선 읽기 전용 프로퍼티에 값을 써도 에러가 발생하지 않습니다. 다만 이때 값을 변경하는 것은 불가능합니다. 비 엄격 모드에선 이와 같이 플래그에서 정한 규칙을 위반하는 행위는 에러 없이 그냥 무시됩니다.
125125
```
126126

127127
아래 예시는 위 예시와 동일하게 동작합니다. 다만 아래 예시에선 `defineProperty` 메서드를 사용해 프로퍼티를 밑바닥부터 만들어 보았습니다.
@@ -192,7 +192,7 @@ alert(Object.keys(user)); // name
192192

193193
구성 가능하지 않음을 나타내는 플래그(non-configurable flag)인 `configurable:false`는 몇몇 내장 객체나 프로퍼티에 기본으로 설정되어있습니다.
194194

195-
구성 가능하지 않은(non-configurable) 프로퍼티는 객체에서 삭제할 수 없고, 속성도 수정할 수 없습니다.
195+
어떤 프로퍼티의 `configurable` 플래그가 `false`로 설정되어 있다면 해당 프로퍼티는 객체에서 지울 수 없고, 플래그 값도 수정할 수 없습니다.
196196

197197
내장 객체 `Math``PI` 프로퍼티가 대표적인 예입니다. 이 프로퍼티는 쓰기와 열거, 구성이 불가능합니다.
198198

@@ -226,7 +226,7 @@ Object.defineProperty(Math, "PI", { writable: true });
226226

227227
`Math.PI`로는 아무것도 할 수 없습니다.
228228

229-
프로퍼티를 구성 가능하지 않은 상태로 만들면 되돌릴 수 없습니다. `defineProperty`사용해도 다시 구성 가능하게 만들 수 없습니다.
229+
`configurable` 플래그를 `false`로 설정하면 돌이킬 방법이 없습니다. `defineProperty`써도 값을 `true`로 되돌릴 수 없죠.
230230

231231
**참고: `configurable: false`는 프로퍼티 플래그 변경과 삭제를 막지만, 값 변경은 허용합니다.**
232232

@@ -241,7 +241,7 @@ Object.defineProperty(user, "name", {
241241
configurable: false
242242
});
243243

244-
user.name = "Pete"; // works fine
244+
user.name = "Pete"; // 정상 작동
245245
delete user.name; // Error
246246
```
247247

@@ -272,7 +272,7 @@ Object.defineProperty(user, "name", { value: "Pete" });
272272

273273
## Object.defineProperties
274274

275-
[Object.defineProperties(obj, descriptors)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperties) 메서드를 사용하면 프로퍼티 여러 개를 한 번에 정의할 수 있습니다.
275+
[Object.defineProperties(obj, descriptors)](https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Object/defineProperties) 메서드를 사용하면 프로퍼티 여러 개를 한 번에 정의할 수 있습니다.
276276

277277
문법:
278278

@@ -298,7 +298,7 @@ Object.defineProperties(user, {
298298

299299
## Object.getOwnPropertyDescriptors
300300

301-
[Object.getOwnPropertyDescriptors(obj)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyDescriptors) 메서드를 사용하면 프로퍼티 설명자를 한꺼번에 가져올 수 있습니다.
301+
[Object.getOwnPropertyDescriptors(obj)](https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyDescriptors) 메서드를 사용하면 프로퍼티 설명자를 한꺼번에 가져올 수 있습니다.
302302

303303
이 메서드를 `Object.defineProperties`와 함께 사용하면 객체 복사 시 플래그도 함께 복사할 수 있습니다.
304304

@@ -324,24 +324,24 @@ for (let key in user) {
324324

325325
아래 메서드를 사용하면 한 객체 내 프로퍼티 *전체*를 대상으로 하는 제약사항을 만들 수 있습니다.
326326

327-
[Object.preventExtensions(obj)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/preventExtensions)
327+
[Object.preventExtensions(obj)](https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Object/preventExtensions)
328328
: 객체에 새로운 프로퍼티를 추가할 수 없게 합니다.
329329

330-
[Object.seal(obj)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/seal)
330+
[Object.seal(obj)](https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Object/seal)
331331
: 새로운 프로퍼티 추가나 기존 프로퍼티 삭제를 막아줍니다. 기존 프로퍼티 전체에 `configurable: false`를 설정합니다.
332332

333-
[Object.freeze(obj)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze)
333+
[Object.freeze(obj)](https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze)
334334
: 새로운 프로퍼티 추가나 기존 프로퍼티 삭제, 수정을 막아줍니다. 기존 프로퍼티 전체에 `configurable: false, writable: false`를 설정합니다.
335335

336336
아래 메서드는 위 세 가지 메서드를 사용해서 설정한 제약사항을 확인할 때 사용할 수 있습니다.
337337

338-
[Object.isExtensible(obj)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isExtensible)
338+
[Object.isExtensible(obj)](https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Object/isExtensible)
339339
: 새로운 프로퍼티를 추가하는 게 불가능한 경우 `false`를, 그렇지 않은 경우 `true`를 반환합니다.
340340

341-
[Object.isSealed(obj)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isSealed)
341+
[Object.isSealed(obj)](https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Object/isSealed)
342342
: 프로퍼티 추가, 삭제가 불가능하고 모든 프로퍼티가 `configurable: false`이면 `true`를 반환합니다.
343343

344-
[Object.isFrozen(obj)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isFrozen)
344+
[Object.isFrozen(obj)](https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Object/isFrozen)
345345
: 프로퍼티 추가, 삭제, 변경이 불가능하고 모든 프로퍼티가 `configurable: false, writable: false`이면 `true`를 반환합니다.
346346

347347
위 메서드들은 실무에선 잘 사용되지 않습니다.

0 commit comments

Comments
 (0)