From 86792571ae1a21a1e4bf526747d6dd1c2636d167 Mon Sep 17 00:00:00 2001 From: alattalatta Date: Sat, 14 Aug 2021 15:57:42 +0900 Subject: Clean up JS reference documents (#1818) * Clean up JavaScript references HTML code - Remove inline styles - Remove elements - Remove title attribute * Remove sup/sub from JavaScript reference * Remove name attrs from JavaScript reference * Remove legacy browser compat elements * Remove duplicate browser-compat key --- .../reference/global_objects/eval/index.html | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) (limited to 'files/ko/web/javascript/reference/global_objects/eval') diff --git a/files/ko/web/javascript/reference/global_objects/eval/index.html b/files/ko/web/javascript/reference/global_objects/eval/index.html index f7acb577ce..52ec8665e2 100644 --- a/files/ko/web/javascript/reference/global_objects/eval/index.html +++ b/files/ko/web/javascript/reference/global_objects/eval/index.html @@ -122,7 +122,7 @@ console.log(runCodeWithDateFunction(

위 코드는 삼중 중첩 함수를 사용하기 때문에 매우 비효율적으로 보일 수 있지만, 이 방법의 이점을 우선 살펴봅시다.

-

1. runCodeWithDateFunction에 문자열로 전달된 코드를 최소화minify할 수 있다.

+

1. runCodeWithDateFunction에 문자열로 전달된 코드를 최소화할 수 있다.

2. Function call overhead is minimal, making the far smaller code size well worth the benefit

@@ -147,7 +147,7 @@ var propname = getPropName(); // "a" 또는 "b"를 반환 eval( "var result = obj." + propname ); -

그러나 여기에서 eval()을 쓸 필요가 없고, 지양되어야 합니다. 그 대신 훨씬 빠르고 안전한 속성 접근자를 사용하여야 합니다.

+

그러나 여기에서 eval()을 쓸 필요가 없고, 지양되어야 합니다. 그 대신 훨씬 빠르고 안전한 속성 접근자를 사용하여야 합니다.

var obj = { a: 20, b: 30 };
 var propname = getPropName();  // "a" 또는 "b"를 반환
@@ -200,21 +200,21 @@ setTimeout(function() { ... }, 1000);
 // elt.setAttribute("onclick", "...") 대신에
 elt.addEventListener("click", function() { ... } , false); 
-

또한 클로저를 이용해 문자열을 합치는 등의 연산 없이 매개변수화된 함수를 생성할 수 있습니다.

+

또한 클로저를 이용해 문자열을 합치는 등의 연산 없이 매개변수화된 함수를 생성할 수 있습니다.

JSON 파싱 (문자열을 JavaScript 객체로 변환)

-

eval()을 호출하려는 문자열에 코드가 아니라 데이터가 포함되어 있다면(예를 들어 "[1, 2, 3]"과 같은 배열), 대신 JavaScript의 문법 일부를 이용해 문자열로 데이터를 표현할 수 있는 JSON을 사용하는 것을 고려해 보세요. Downloading JSON and JavaScript in extensions도 참고해 보세요.

+

eval()을 호출하려는 문자열에 코드가 아니라 데이터가 포함되어 있다면(예를 들어 "[1, 2, 3]"과 같은 배열), 대신 JavaScript의 문법 일부를 이용해 문자열로 데이터를 표현할 수 있는 JSON을 사용하는 것을 고려해 보세요. Downloading JSON and JavaScript in extensions도 참고해 보세요.

-

JSON 문법은 JavaScript 문법에 비해 제약이 있기 때문에, 유효한 JavaScript 리터럴이 JSON으로 변환되지 않는 경우도 있습니다. 예를 들어, JSON에서는 배열이나 객체를 콤마로 끝낼 수 없고, 객체 리터럴에서 속성명(키)은 반드시  따옴표로 감싸야 합니다. 나중에 JSON으로 파싱할 문자열을 생성할 때는 JSON 직렬 변환기JSON serializer를 사용하여야 합니다.

+

JSON 문법은 JavaScript 문법에 비해 제약이 있기 때문에, 유효한 JavaScript 리터럴이 JSON으로 변환되지 않는 경우도 있습니다. 예를 들어, JSON에서는 배열이나 객체를 콤마로 끝낼 수 없고, 객체 리터럴에서 속성명(키)은 반드시  따옴표로 감싸야 합니다. 나중에 JSON으로 파싱할 문자열을 생성할 때는 JSON 직렬 변환기를 사용하여야 합니다.

코드 대신 데이터 전달하기

-

예를 들어, 웹 페이지의 내용을 추출하는 확장 프로그램은 JavaScript 코드 대신 XPath에 스크랩 규칙을 정의할 수 있습니다.

+

예를 들어, 웹 페이지의 내용을 추출하는 확장 프로그램은 JavaScript 코드 대신 XPath에 스크랩 규칙을 정의할 수 있습니다.

제한된 권한으로 코드 실행하기

-

제3자 코드를 실행해야 할 때는 제한된 권한으로 실행하는 것을 고려해야 합니다. 이는 주로 확장 프로그램이나 XUL 어플리케이션에 적용되며, 이때 Components.utils.evalInSandbox를 사용할 수 있습니다.

+

제3자 코드를 실행해야 할 때는 제한된 권한으로 실행하는 것을 고려해야 합니다. 이는 주로 확장 프로그램이나 XUL 어플리케이션에 적용되며, 이때 Components.utils.evalInSandbox를 사용할 수 있습니다.

예제

@@ -268,9 +268,7 @@ var fct1 = eval(fctStr1) // undefined를 반환 var fct2 = eval(fctStr2) // 함수를 반환 -

- -

브라우저 호환성

+

브라우저 호환성

{{Compat("javascript.builtins.eval")}}

-- cgit v1.2.3-54-g00ecf