Skip to content

Commit 1483cee

Browse files
[오타수정] new Function 문법 단순오타 (#972)
1 parent 21b8b7c commit 1483cee

File tree

1 file changed

+4
-4
lines changed
  • 1-js/06-advanced-functions/07-new-function

1 file changed

+4
-4
lines changed

1-js/06-advanced-functions/07-new-function/article.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

2-
# 'new Function' 문법
2+
# new Function 문법
33

44
함수 표현식과 함수 선언문 이외에 함수를 만들 수도 있는 방법이 하나 더 있습니다. 잘 사용하는 방법은 아니지만, 이 방법 외에는 대안이 없을 때 사용합니다.
55

@@ -48,9 +48,9 @@ func();
4848

4949
함수는 특별한 프로퍼티 `[[Environment]]`에 저장된 정보를 이용해 자기 자신이 태어난 곳을 기억합니다. `[[Environment]]`는 함수가 만들어진 렉시컬 환경을 참조합니다(자세한 내용은 <info:closure>에서 다루었습니다).
5050

51-
그런데 `new Function` 이용해 함수를 만들면 함수의 `[[Environment]]` 프로퍼티가 현재 렉시컬 환경이 아닌 전역 렉시켤 환경을 참조하게 됩니다.
51+
그런데 `new Function` 이용해 함수를 만들면 함수의 `[[Environment]]` 프로퍼티가 현재 렉시컬 환경이 아닌 전역 렉시컬 환경을 참조하게 됩니다.
5252

53-
따라서 `new Function` 이용해 만든 함수는 외부 변수에 접근할 수 없고, 오직 전역 변수에만 접근할 수 있습니다.
53+
따라서 `new Function` 이용해 만든 함수는 외부 변수에 접근할 수 없고, 오직 전역 변수에만 접근할 수 있습니다.
5454

5555
```js run
5656
function getFunc() {
@@ -122,4 +122,4 @@ new Function('a,b', 'return a + b'); // 쉼표로 구분
122122
new Function('a , b', 'return a + b'); // 쉼표와 공백으로 구분
123123
```
124124

125-
`new Function`을 이용해 만든 함수의 `[[Environment]]`는 외부 렉시컬 환경이 아닌 전역 렉시컬 환경을 참조하므로 외부 변수를 사용할 수 없습니다. 단점 같아 보이는 특징이긴 하지만 에러를 예방해 준다는 관점에선 장점이 되기도 합니다. 구조상으론 매개변수를 사용해 값을 받는 게 더 낫습니다. 압축기에 의한 에러도 방지할 수 있죠.
125+
`new Function`을 이용해 만든 함수의 `[[Environment]]`는 외부 렉시컬 환경이 아닌 전역 렉시컬 환경을 참조하므로 외부 변수를 사용할 수 없습니다. 단점 같아 보이는 특징이긴 하지만 에러를 예방해 준다는 관점에선 장점이 되기도 합니다. 구조상으론 매개변수를 사용해 값을 받는 게 더 낫습니다. 압축기에 의한 에러도 방지할 수 있죠.

0 commit comments

Comments
 (0)