diff options
author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 21:46:22 -0500 |
---|---|---|
committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 21:46:22 -0500 |
commit | a065e04d529da1d847b5062a12c46d916408bf32 (patch) | |
tree | fe0f8bcec1ff39a3c499a2708222dcf15224ff70 /files/ko/web/javascript | |
parent | 218934fa2ed1c702a6d3923d2aa2cc6b43c48684 (diff) | |
download | translated-content-a065e04d529da1d847b5062a12c46d916408bf32.tar.gz translated-content-a065e04d529da1d847b5062a12c46d916408bf32.tar.bz2 translated-content-a065e04d529da1d847b5062a12c46d916408bf32.zip |
update based on https://github.com/mdn/yari/issues/2028
Diffstat (limited to 'files/ko/web/javascript')
16 files changed, 0 insertions, 1741 deletions
diff --git a/files/ko/web/javascript/new_in_javascript/1.5/index.html b/files/ko/web/javascript/new_in_javascript/1.5/index.html deleted file mode 100644 index a34931d815..0000000000 --- a/files/ko/web/javascript/new_in_javascript/1.5/index.html +++ /dev/null @@ -1,37 +0,0 @@ ---- -title: New in JavaScript 1.5 -slug: Web/JavaScript/New_in_JavaScript/1.5 -translation_of: Archive/Web/JavaScript/New_in_JavaScript/1.5 ---- -<div>{{jsSidebar("New_in_JS")}}</div> - -<p>다음은 JavaScript 1.5의 변경 내역입니다. 이 버전은 2000년 11월 14일에 출시된 Netscape Navigator 6.0과 그 이 후 버전 그리고 Firefox 1.0에 포함되어 있습니다. You can compare JavaScript 1.5 to JScript version 5.5 and Internet Explorer 5.5, which was released in July 2000. 해당하는 ECMA 표준은 ECMA-262 Edition 3(1999년 12월 이후) 입니디.</p> - -<h2 id="New_features_in_JavaScript_1.5">New features in JavaScript 1.5</h2> - -<ul> - <li>{{jsxref("Number.prototype.toExponential()")}}</li> - <li>{{jsxref("Number.prototype.toFixed()")}}</li> - <li>{{jsxref("Number.prototype.toPrecision()")}}</li> - <li><code><a href="/en-US/docs/Web/JavaScript/Reference/Statements/const">const</a></code> is now a <code><a href="/en-US/docs/Web/JavaScript/Reference/Reserved_Words">reserved word</a></code>.</li> - <li>Multiple catch clauses in a <a href="/en-US/docs/Web/JavaScript/Reference/Statements/try...catch"><code>try...catch</code></a> statement are supported.</li> - <li>JavaScript authors can now add getters and setters to their objects.</li> -</ul> - -<h2 id="Changed_functionality_in_JavaScript_1.5">Changed functionality in JavaScript 1.5</h2> - -<ul> - <li>Runtime errors are now reported as exceptions.</li> - <li>Regular Expression changes: - <ul> - <li>Quantifiers — +, *, ? and {} — can now be followed by a ? to force them to be non-greedy.</li> - <li>Non-capturing parentheses, (?:x) can be used instead of capturing parentheses, (x). When non-capturing parentheses are used, matched subexpressions are not available as back-references.</li> - <li>Positive and negative lookahead assertions are supported. Both assert a match depending on what follows the string being matched.</li> - <li>The m flag has been added to specify that the regular expression should match over multiple lines.</li> - </ul> - </li> - <li>Functions can now be declared inside an if clause.</li> - <li> - <p>Functions can now be declared inside an expression.</p> - </li> -</ul> diff --git a/files/ko/web/javascript/new_in_javascript/1.6/index.html b/files/ko/web/javascript/new_in_javascript/1.6/index.html deleted file mode 100644 index db92810578..0000000000 --- a/files/ko/web/javascript/new_in_javascript/1.6/index.html +++ /dev/null @@ -1,85 +0,0 @@ ---- -title: New in JavaScript 1.6 -slug: Web/JavaScript/New_in_JavaScript/1.6 -tags: - - E4X - - JavaScript - - JavaScript_version_overviews -translation_of: Archive/Web/JavaScript/New_in_JavaScript/1.6 ---- -<div>{{jsSidebar("New_in_JS")}}</div> - -<p>JavaScript 1.6 여러 새 기능(E4X, 여러 새 <code>Array</code> 메소드, Array과 String generic)을 소개합니다.</p> - -<p>JavaScript 1.6은 <a href="ko/Firefox_1.5">Firefox 1.5</a>와 이후 버전에서 지원합니다.</p> - -<h3 id="E4X" name="E4X">E4X</h3> - -<p>ECMAScript for XML (<a>E4X</a>)는 <a href="ko/JavaScript">JavaScript</a> 안의 <a href="ko/XML">XML</a> 컨텐트를 만들고 처리하는 강력한 기술입니다. 우리는 기존 <a href="ko/DOM">DOM</a>과의 transparent한 통합 추가를 포함하는 E4X 지원 향상을 계속할 예정이지만 XML 기반 웹 응용프로그램을 만드는(build) 개발자는 Firefox 1.5의 E4X 지원에서 이득을 얻을 수 있습니다.</p> - -<p>아직은 E4X를 쓸 때 표준 MIME 형을 쓸 수 있습니다.</p> - -<pre><script type="text/javascript"> -</pre> - -<p>그러나, E4X 구문이 옛날 브라우저에서 그것을 숨기기 위해 HTML 주석 (<code><span class="nowiki"><!--...--></span></code>)에 스크립트를 넣는 흔한 관례(practice)와 충돌할지도 모릅니다. E4X 또한 스크립트에 기호 "<"와 ">"를 허용하는 XML CDATA 절 (<code><![CDATA{{ mediawiki.external('...') }}]></code>) 에 스크립트를 놓는 더 현대식 관례와 충돌할지도 모릅니다(이는 HTML에는 적용되지 않음을 주의하세요). 만약 설명할 수 없는 구문 에러를 보면, MIME 형에 "; e4x=1"를 보태세요.</p> - -<pre><script type="text/javascript; e4x=1"> -</pre> - -<p>확장기능의 스크립트는 항상 HTML 주석을 E4X 상수(literal)로 다룸을 주의하세요. 즉, "e4x=1"을 묵시(implicit)로 적용합니다.</p> - -<p>E4X는 <a href="ko/Core_JavaScript_1.5_Guide/Processing_XML_with_E4X">Processing XML with E4X</a>에서 설명합니다.</p> - -<h3 id="Array_.EC.B6.94.EA.B0.80.EB.B6.84" name="Array_.EC.B6.94.EA.B0.80.EB.B6.84">Array 추가분</h3> - -<p>두 갈래(item location 메소드와 iterative 메소드)로 구분할 수 있는 7가지 새 <code><a href="ko/Core_JavaScript_1.5_Reference/Objects/Array">Array</a></code> 메소드가 있습니다. item location 메소드는</p> - -<ul> - <li><code><a href="ko/Core_JavaScript_1.5_Reference/Objects/Array/indexOf">indexOf()</a></code> - 주어진 item의 맨 처음 출현(occurrence) 인덱스를 반환합니다.</li> - <li><code><a href="ko/Core_JavaScript_1.5_Reference/Objects/Array/lastIndexOf">lastIndexOf()</a></code> - 주어진 item의 맨 마지막 출현 인덱스를 반환합니다.</li> -</ul> - -<p>iterative 메소드는</p> - -<ul> - <li><code><a href="ko/Core_JavaScript_1.5_Reference/Objects/Array/every">every()</a></code> - 함수가 참을 반환하는 동안 배열의 항목들에 함수를 돌립니다. 만약 함수가 방문할 수 있는 모든 항목에 대해 참을 반환하면 참을 반환합니다.</li> - <li><code><a href="ko/Core_JavaScript_1.5_Reference/Objects/Array/filter">filter()</a></code> - 배열의 각 항목에 함수를 돌리고 함수가 참을 반환하는 모든 항목의 배열을 반환합니다.</li> - <li><code><a href="ko/Core_JavaScript_1.5_Reference/Objects/Array/forEach">forEach()</a></code> - 배열의 모든 항목에 함수를 돌립니다.</li> - <li><code><a href="ko/Core_JavaScript_1.5_Reference/Objects/Array/map">map()</a></code> - 배열의 모든 항목에 함수를 돌리고 배열에 결과를 반환합니다.</li> - <li><code><a href="ko/Core_JavaScript_1.5_Reference/Objects/Array/some">some()</a></code> - 함수가 거짓을 반환하는 동안 배열의 항목들에 함수를 돌립니다. 만약 함수가 방문할 수 있는 어떤 항목에 참을 반환하면 참을 반환합니다.</li> -</ul> - -<p>더 자세한 정보는 <a href="ko/Core_JavaScript_1.5_Guide/Working_with_Arrays#Introduced_in_JavaScript_1.6">Working with Arrays</a>나 Nicholas C. Zakas의 기사 <a class="external" href="http://www.webreference.com/programming/javascript/ncz/column4/index.html">Mozilla's New Array Methods</a>를 보세요.</p> - -<h3 id="Array.EC.99.80_String_generic" name="Array.EC.99.80_String_generic">Array와 String generic</h3> - -<p>간혹 배열 메소드를 문자열에 쓰고 싶습니다. 이리하여, 문자열을 문자 배열로 다룹니다. 예를 들어, 변수 <var>str</var>의 모든 문자(character)가 문자(letter)인지 검사하기 위해, 당신은 작성합니다.</p> - -<pre>function isLetter(character) { - return (character >= "a" && character <= "z"); -} - -if (Array.prototype.every.call(str, isLetter)) - alert("The string '" + str + "' contains only letters!"); -</pre> - -<p>이 표기(notation)는 약간 낭비라서 JavaScript 1.6은 generic 속기(shorthand)를 도입합니다.</p> - -<pre>if (Array.every(str, isLetter)) - alert("The string '" + str + "' contains only letters!"); -</pre> - -<p>비슷하게 문자열 메소드를 어느 개체든지 쉽게 적용할 수 있습니다.</p> - -<pre>var num = 15; -alert(String.replace(num, /5/, '2')); -</pre> - -<h3 id=".EA.B0.99.EC.9D.B4_.EB.B3.B4.EA.B8.B0" name=".EA.B0.99.EC.9D.B4_.EB.B3.B4.EA.B8.B0">같이 보기</h3> - -<p><a href="ko/Core_JavaScript_1.5_Guide/Working_with_Arrays#Working_with_Array-like_objects">Working with Array-like objects</a>.</p> - -<div class="noinclude"> </div> - -<p>{{ languages( { "en": "en/New_in_JavaScript_1.6", "es": "es/Novedades_en_JavaScript_1.6", "fr": "fr/Nouveaut\u00e9s_dans_JavaScript_1.6", "ja": "ja/New_in_JavaScript_1.6", "pl": "pl/Nowo\u015bci_w_JavaScript_1.6", "ru": "ru/\u041d\u043e\u0432\u043e\u0435_\u0432_JavaScript_1.6", "zh-cn": "cn/New_in_JavaScript_1.6" } ) }}</p> diff --git a/files/ko/web/javascript/new_in_javascript/1.8.1/index.html b/files/ko/web/javascript/new_in_javascript/1.8.1/index.html deleted file mode 100644 index 2a50e35cf7..0000000000 --- a/files/ko/web/javascript/new_in_javascript/1.8.1/index.html +++ /dev/null @@ -1,26 +0,0 @@ ---- -title: New in JavaScript 1.8.1 -slug: Web/JavaScript/New_in_JavaScript/1.8.1 -translation_of: Archive/Web/JavaScript/New_in_JavaScript/1.8.1 ---- -<div>{{jsSidebar("New_in_JS")}}</div> - -<p>다음은 JavaScript 1.8.1의 변경사항입니다. <a href="/en-US/Firefox/Releases/3.5">Firefox 3.5</a> 버전에 포함되었습니다.</p> - -<p>JavaScript 1.8.1는 약간의 문법적인 업데이트가 있습니다. 이번 릴리즈의 주요 변경사항은 <a href="/en-US/docs/SpiderMonkey/Internals/Tracing_JIT" title="SpiderMonkey/Internals/Tracing JIT">Tracemonkey just-in-time compiler</a>(성능적인 향상이 포함된 릴리즈입니다)의 추가되어있습니다</p> - -<h2 id="JavaScript_1.8.1의_새로운_특징">JavaScript 1.8.1의 새로운 특징</h2> - -<ul> - <li>{{jsxref("Object.getPrototypeOf()")}}</li> - <li><a href="/en-US/docs/Web/JavaScript/Guide/Using_native_JSON">Support for native JSON</a></li> - <li>{{jsxref("String.prototype.trim()")}}</li> - <li>{{jsxref("String.prototype.trimLeft()")}}</li> - <li>{{jsxref("String.prototype.trimRight()")}}</li> -</ul> - -<h2 id="JavaScript_1.8.1에서_변경된_기능">JavaScript 1.8.1에서 변경된 기능</h2> - -<ul> - <li>객체 및 배열 initializer에서 속성의 암시적 설정(implicit setting)은 더 이상 JavaScript에서 setter를 실행하지 않습니다. 덕분에 속성 값을 좀더 예측 가능하게 설정하는 동작이 만들어집니다.</li> -</ul> diff --git a/files/ko/web/javascript/new_in_javascript/1.8.5/index.html b/files/ko/web/javascript/new_in_javascript/1.8.5/index.html deleted file mode 100644 index 27853f0531..0000000000 --- a/files/ko/web/javascript/new_in_javascript/1.8.5/index.html +++ /dev/null @@ -1,126 +0,0 @@ ---- -title: New in JavaScript 1.8.5 -slug: Web/JavaScript/New_in_JavaScript/1.8.5 -tags: - - ECMAScript5 - - JavaScript - - JavaScript 1.8.5 -translation_of: Archive/Web/JavaScript/New_in_JavaScript/1.8.5 ---- -<div>{{jsSidebar("New_in_JS")}}</div> - -<p>다음은 JavaScript 1.8.5에 대한 변경기록입니다. 이 버전은 <a href="/ko/Firefox/Releases/4">Firefox 4</a>에서 포함되었습니다.</p> - -<h2 id="JavaScript_1.8.5의_새로운_기능">JavaScript 1.8.5의 새로운 기능</h2> - -<h3 id="새로운_함수">새로운 함수</h3> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">함수</th> - <th scope="col">설명</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{jsxref("Object.create()")}}</td> - <td>지정된 프로토타입 객체 및 속성을 갖는 새로운 객체 생성. {{bug("492840")}}</td> - </tr> - <tr> - <td>{{jsxref("Object.defineProperty()")}}</td> - <td>객체에 주어진 설명자로 기술된 유명(named) 속성을 추가.</td> - </tr> - <tr> - <td>{{jsxref("Object.defineProperties()")}}</td> - <td>객체에 주어진 설명자로 기술된 유명 속성을 추가.</td> - </tr> - <tr> - <td>{{jsxref("Object.getOwnPropertyDescriptor()")}}</td> - <td>객체의 유명 속성에 대한 속성 설명자를 반환. {{bug("505587")}}</td> - </tr> - <tr> - <td>{{jsxref("Object.keys()")}}</td> - <td>객체의 모든 열거가능 속성 배열을 반환. {{bug("307791")}}</td> - </tr> - <tr> - <td>{{jsxref("Object.getOwnPropertyNames()")}}</td> - <td>객체의 모든 열거가능 및 열거불가 속성 배열을 반환. {{bug("518663")}}</td> - </tr> - <tr> - <td>{{jsxref("Object.preventExtensions()")}}</td> - <td>객체 확장을 막음. {{bug("492849")}}</td> - </tr> - <tr> - <td>{{jsxref("Object.isExtensible()")}}</td> - <td>객체 확장이 허용되는지 판단. {{bug("492849")}}</td> - </tr> - <tr> - <td>{{jsxref("Object.seal()")}}</td> - <td>다른 코드가 객체의 속성을 삭제하는 것으로부터 막음. {{bug("492845")}}</td> - </tr> - <tr> - <td>{{jsxref("Object.isSealed()")}}</td> - <td>객체가 봉인되었는지 판단. {{bug("492845")}}</td> - </tr> - <tr> - <td>{{jsxref("Object.freeze()")}}</td> - <td>객체 동결: 다른 코드가 어떤 속성도 삭제 또는 변경할 수 없음. {{bug("492844")}}</td> - </tr> - <tr> - <td>{{jsxref("Object.isFrozen()")}}</td> - <td>객체가 동결됐는지 판단. {{bug("492844")}}</td> - </tr> - <tr> - <td>{{jsxref("Array.isArray()")}}</td> - <td>변수가 배열인지 확인. {{bug("510537")}}</td> - </tr> - <tr> - <td>{{jsxref("Date.prototype.toJSON()")}}</td> - <td><code>Date</code> 객체의 JSON 형식 문자열 반환.</td> - </tr> - <tr> - <td>{{jsxref("Function.prototype.bind()")}}</td> - <td>호출될 때 그 자체가 (주어진 인수열과 함께) 주어진 문맥에서 이 함수를 호출하는 새로운 함수 생성 {{bug("429507")}}</td> - </tr> - </tbody> -</table> - -<h3 id="ECMAScript5_새로운_기능">ECMAScript5 새로운 기능</h3> - -<ul> - <li><code><a href="/ko/docs/Web/JavaScript/Reference/Operators/get">get</a></code> 및 <code><a href="/ko/docs/Web/JavaScript/Reference/Operators/set">set</a></code> 연산자는 이제 식별자가 숫자 또는 문자열이 될 수 있습니다. {{bug("520696")}}</li> - <li>{{jsxref("Function.apply()")}}는 인수 목록으로 모든 배열같은 객체를 받아들일 수 있습니다, 실제 배열만이 아니라.</li> - <li><a href="/ko/docs/Web/JavaScript/Reference/Functions_and_function_scope/Strict_mode">엄격 모드 지원</a></li> - <li>{{jsxref("Array.toString()")}}은 이제 가능한 경우 그 <a href="/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/join"><code>join()</code></a> 메서드 호출 결과를 반환 또는 그 <a href="/ko/docs/Web/JavaScript/Reference/Global_Objects/Object/toString"><code>toString()</code></a> 메서드를 호출하여 심지어 비배열에서도 동작합니다.</li> -</ul> - -<h3 id="다른_표준화_작업">다른 표준화 작업</h3> - -<p>getter 및 setter를 정의하는 다양한 비표준 구문이 제거되었습니다; ECMAScript 5에서 정의된 구문은 변경되지 않았습니다. 이들은 모두 꽤 난해하고 거의 쓰이지 않았습니다; 영향을 미치는 경우, 자세한 사항은 <a class="external" href="http://whereswalden.com/2010/04/16/more-spidermonkey-changes-ancient-esoteric-very-rarely-used-syntax-for-creating-getters-and-setters-is-being-removed/">이 블로그 게시글</a> 참조.</p> - -<h3 id="새로운_객체">새로운 객체</h3> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">객체</th> - <th scope="col">설명</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{jsxref("Proxy")}}</td> - <td>JavaScript에서 메타프로그래밍을 가능케 하는 <code>Object</code> 및 <code>Function</code> 프록시 생성 지원을 제공.</td> - </tr> - </tbody> -</table> - -<h2 id="JavaScript_1.8.5에서_바뀐_기능">JavaScript 1.8.5에서 바뀐 기능</h2> - -<ul> - <li><code>Date</code> 객체 ISO 8601 지원: {{jsxref("Date")}} 객체의 <a href="/ko/docs/Web/JavaScript/Reference/Global_Objects/Date/parse">parse()</a> 메서드가 이제 단순한 ISO 8601 형식 date 문자열을 지원합니다.</li> - <li>Global 객체가 읽기 전용이 됨: <a href="/ko/docs/Web/JavaScript/Reference/Global_Objects/NaN"><code>NaN</code></a>, <a href="/ko/docs/Web/JavaScript/Reference/Global_Objects/Infinity"><code>Infinity</code></a> 및 <a href="/ko/docs/Web/JavaScript/Reference/Global_Objects/undefined"><code>undefined</code></a> global 객체는 읽기 전용이 되었습니다, ECMAScript 5 스펙에 따라.</li> - <li><a href="/ko/docs/Web/JavaScript/Reference/Global_Objects/Object/Parent"><code>obj.__parent__</code></a> 및 <code>obj.__count__</code>는 폐기(obsolete)되었습니다. 이유에 대한 일부 정보: <a class="external" href="http://whereswalden.com/2010/05/07/spidermonkey-change-du-jour-the-special-__parent__-property-has-been-removed/">SpiderMonkey change du jour: the special __parent__ property has been removed</a> {{bug("551529")}} & {{bug("552560")}}.</li> - <li>후행(trailing) 쉼표는 {{jsxref("JSON.parse()")}}에서 더 이상 허용되지 않습니다.</li> -</ul> diff --git a/files/ko/web/javascript/new_in_javascript/1.8/index.html b/files/ko/web/javascript/new_in_javascript/1.8/index.html deleted file mode 100644 index 3372eeac27..0000000000 --- a/files/ko/web/javascript/new_in_javascript/1.8/index.html +++ /dev/null @@ -1,138 +0,0 @@ ---- -title: New in JavaScript 1.8 -slug: Web/JavaScript/New_in_JavaScript/1.8 -tags: - - JavaScript - - JavaScript_version_overviews -translation_of: Archive/Web/JavaScript/New_in_JavaScript/1.8 ---- -<p>{{jsSidebar("New_in_JS")}} 자바스크립트 1.8은 (<a href="ko/Firefox_3">Firefox 3</a>에 포함될 예정인) Gecko 1.9의 일부분으로 계획되어 있습니다. 자바스크립트 1.8은 <a href="ko/New_in_JavaScript_1.7">자바스크립트 1.7</a>보다는 변경된 부분이 적습니다. 그러나, ECMAScript 4/JavaScript 2로 진행되는 과정의 몇몇 변경점이 있습니다. 이번 자바스크립트 1.8 릴리즈에는 <a href="ko/New_in_JavaScript_1.6">자바스크립트 1.6</a>과 <a href="ko/New_in_JavaScript_1.7">자바스크립트 1.7</a>에 있는 모든 부분이 포함될 것입니다.</p> - -<p>자바스크립트 1.8가 개발되어지고 있는 상황은 {{ Bug(380236) }}을 참조하십시오.</p> - -<h3 id=".EC.9E.90.EB.B0.94.EC.8A.A4.ED.81.AC.EB.A6.BD.ED.8A.B8_1.8.EC.9D.98_.EC.82.AC.EC.9A.A9" name=".EC.9E.90.EB.B0.94.EC.8A.A4.ED.81.AC.EB.A6.BD.ED.8A.B8_1.8.EC.9D.98_.EC.82.AC.EC.9A.A9">자바스크립트 1.8의 사용</h3> - -<p>HTML에서 자바스크립트 1.8의 새로운 기능 몇 가지를 사용하려면 다음과 같이 사용하십시오.</p> - -<pre class="eval"> <script type="application/javascript;version=1.8"> ... your code ... </script> -</pre> - -<p><a href="ko/Introduction_to_the_JavaScript_shell">자바스크립트 쉘</a>, 자바스크립트 XPCOM 컴포넌트, 혹은 XUL의 <code><script></code> 엘리먼트를 사용할 때에는 자동적으로 가장 마지막의 자바스크립트 버전(모질라 1.9에서는 자바스크립트 1.8)이 사용되어 집니다({{ Bug(381031) }}, {{ Bug(385159) }}).</p> - -<p>새로운 예약어 "yield"와 "let"를 사용하려면 버전을 1.8이나 그 이상으로 지정하여야 합니다. 왜냐하면 기존 코드에 변수나 함수의 이름으로 이런 키워드를 사용하고 있을 수 있기 때문입니다. (generator expressions처럼) 새로운 예약어로 소개되지 않는 것들은 자바스크립트 버전을 명시하지 않아도 사용할 수 있습니다.</p> - -<h3 id="closures_.ED.91.9C.ED.98.84" name="closures_.ED.91.9C.ED.98.84">closures 표현</h3> - -<p>추가된 closures 표현은 간단한 함수 작성을 쉽게 할 수 있는 것 뿐입니다. 문자 그대로인 <a class="external" href="http://en.wikipedia.org/wiki/Lambda_calculus#Lambda_calculus_and_programming_languages">Lambda notation</a>과 유사한 어떤 것을 자바스크립트도 가능하도록 합니다.</p> - -<p><a href="ko/New_in_JavaScript_1.7">자바스크립트 1.7</a>과 그 이전 버전:</p> - -<pre class="eval"> function(x) { return x * x; } -</pre> - -<p>자바스크립트 1.8:</p> - -<pre class="eval"> function(x) x * x -</pre> - -<p>이런 문법은 괄호를 없애고 'return' 문을 쓰지 않아도 되도록 해줍니다. - 즉, 내용을 함축적으로 만들어 줍니다. 문법이 더 짧아진다는 것 외에 코드에 이 문법을 사용하여 얻을 수 있는 추가적인 이점은 없습니다.</p> - -<p><b>예제:</b></p> - -<p>이벤트 리스너 연결:</p> - -<pre class="eval"> document.addEventListener("click", function() false, true); -</pre> - -<p><a href="ko/New_in_JavaScript_1.6">자바스크립트 1.6</a>의 배열 함수의 some을 사용하면:</p> - -<pre class="eval"> elems.some(function(elem) elem.type == "text"); -</pre> - -<h3 id="Generator_expression" name="Generator_expression">Generator expression</h3> - -<p>Generator expression은 (<a href="ko/New_in_JavaScript_1.7">자바스크립트 1.7</a>에서 소개된) generator를 간단하게 만들 수 있게 해줍니다. 문자 그대로 함수 내부에 yield를 포함한 사용자 함수를 생성할 수 있습니다. 그러나 동일한 generator 문법과 같은 것을 포함하고 있는 배열 역시 사용할 수 있습니다.</p> - -<p>This addition allows you to simply create generators (which were introduced in <a href="ko/New_in_JavaScript_1.7">JavaScript 1.7</a>). Typically you would have to create a custom function which would have a yield in it, but this addition allows you to use array comprehension-like syntax to create an identical generator statement.</p> - -<p><a href="ko/New_in_JavaScript_1.7">자바스크립트 1.7</a>에서 오브젝트로부터 사용자 generator를 만드려면 다음과 같은 코드를 작성해야 했습니다:</p> - -<pre class="eval"> function add3(obj) { - for ( let i in obj ) - yield i + 3; - } - - let it = add3(someObj); - try { - while (true) { - document.write(it.next() + "<br>\n"); - } - } catch (err if err instanceof StopIteration) { - document.write("End of record.<br>\n"); - } -</pre> - -<p>위의 코드 대신에 자바스크립트 1.8에서는 generator expression을 사용하여 순환문 안에 사용자 generator 함수를 생성하는 부분을 포함할 수 있습니다:</p> - -<pre class="eval"> let it = (i + 3 for (i in someObj)); - try { - while (true) { - document.write(it.next() + "<br>\n"); - } - } catch (err if err instanceof StopIteration) { - document.write("End of record.<br>\n"); - } -</pre> - -<p>generator 표현은 또한 값처럼 함수에 전달할 수 있습니다. generator 표현은 generator가 실행되지 않을 때부터 반드시 필요할 때까지 (배열이 맨 처음 생성되어지는 전형적인 상황과는 다르게) 특히 주목할만 합니다. 다른 예는 아래에서 볼 수 있습니다:</p> - -<p>Generator expressions can also be passed in, as values, to a function. This is particularly noteworthy since generators aren't run until they are absolutely needed (unlike for typical array comprehension situations, where the arrays are constructed ahead of time). An example of the difference can be seen here:</p> - -<p>자바스크립트 1.7 Array Comprehension 사용</p> - -<pre class="eval"> handleResults([ i for ( i in obj ) if ( i > 3 ) ]); - - function handleResults( results ) { - for ( let i in results ) - // ... - } -</pre> - -<p>자바스크립트 1.8 Generator Expressions 사용</p> - -<pre class="eval"> handleResults( i for ( i in obj ) if ( i > 3 ) ); - - function handleResults( results ) { - for ( let i in results ) - // ... - } -</pre> - -<p>두 예제에서 generator expression을 사용함으로써 중요한 다른 점은 'obj' 하나에 대해서만 반복될 것이란 것과 전체에 대해서 반복될 것이라는 점입니다. 배열에 포함되었을 때 하나에 대해서만 반복될 것에 비해 generator expression은 전체에 대해 계속 반복됩니다.</p> - -<p>The significant difference between the two examples being that by using the generator expressions, you would only have to loop over the 'obj' structure once, total, as opposed to once when comprehending the array, and again when iterating through it.</p> - -<h3 id=".EB.B0.B0.EC.97.B4.EC.97.90_.EC.B6.94.EA.B0.80.EB.90.9C_.EA.B2.83.EB.93.A4" name=".EB.B0.B0.EC.97.B4.EC.97.90_.EC.B6.94.EA.B0.80.EB.90.9C_.EA.B2.83.EB.93.A4">배열에 추가된 것들</h3> - -<p>자바스크립트 1.8에는 <code><a href="ko/Core_JavaScript_1.5_Reference/Objects/Array">Array</a></code> 객체에 배열 항목마다 반복 적용되는 두 가지 새로운 메소드가 포함되었습니다:</p> - -<ul> - <li><code><a href="ko/Core_JavaScript_1.5_Reference/Objects/Array/reduce">reduce()</a></code> - 배열의 모든 항목에 대해 함수를 실행하고, 이전 호출에서 결과값을 수집합니다.</li> - <li><code><a href="ko/Core_JavaScript_1.5_Reference/Objects/Array/reduceRight">reduceRight()</a></code> - 배열의 모든 항목에 대해 함수를 실행하고, 이전 호출에서 결과값을 수집합니다. 결과값은 순서가 반대로 수집됩니다.</li> - <li><code><a href="ko/Core_JavaScript_1.5_Reference/Objects/Array/reduce">reduce()</a></code> - runs a function on every item in the array and collects the results from previous calls.</li> - <li><code><a href="ko/Core_JavaScript_1.5_Reference/Objects/Array/reduceRight">reduceRight()</a></code> - runs a function on every item in the array and collects the results from previous calls, but in reverse.</li> -</ul> - -<h3 id="Changes_in_destructuring_for..in" name="Changes_in_destructuring_for..in">Changes in destructuring for..in</h3> - -<p>TBD: mention <a href="ko/New_in_JavaScript_1.7#Looping_across_objects">New_in_JavaScript_1.7#Looping_across_objects</a> ({{ Bug(366941) }}).</p> - -<h3 id=".EA.B3.A7_.EB.B3.80.EA.B2.BD.EB.90.A0_.EC.82.AC.ED.95.AD.EB.93.A4" name=".EA.B3.A7_.EB.B3.80.EA.B2.BD.EB.90.A0_.EC.82.AC.ED.95.AD.EB.93.A4">곧 변경될 사항들</h3> - -<p>자바스크립트 1.8에 포함될 수 있을 것이라 기대되는 것들:</p> - -<ul> - <li>JSON 인코딩, 디코딩.</li> - <li>Slice syntax.</li> - <li>Generalized destructuring <code>for...in</code> (does this mean something other than <a href="#Changes_in_destructuring_for..in">#Changes in destructuring for..in</a>? --<a>Nickolay</a> 10:52, 9 September 2007 (PDT))</li> -</ul> diff --git a/files/ko/web/javascript/new_in_javascript/ecmascript_5_support_in_mozilla/index.html b/files/ko/web/javascript/new_in_javascript/ecmascript_5_support_in_mozilla/index.html deleted file mode 100644 index 6662aee95b..0000000000 --- a/files/ko/web/javascript/new_in_javascript/ecmascript_5_support_in_mozilla/index.html +++ /dev/null @@ -1,45 +0,0 @@ ---- -title: ECMAScript 5 support in Mozilla -slug: Web/JavaScript/New_in_JavaScript/ECMAScript_5_support_in_Mozilla -tags: - - ECMAScript 5 - - JavaScript - - Versions -translation_of: Archive/Web/JavaScript/New_in_JavaScript/ECMAScript_5_support_in_Mozilla ---- -<div>{{jsSidebar("New_in_JS")}}</div> - -<p>ECMAScript 5.1, 자바스크립트에 기반한, 더 오래된 표준이 2011년 6월에 허가되었습니다.</p> - -<p>파이어폭스와 썬더버드를 포함하는 모질라 프로젝트들은 ECMAScript 5.1 의 기능들을 모두 지원합니다. 이 글은 모질라의 다양한 자바스크립트 런타임 버젼에 따라, 어떤 기능들이 지원되는지를 다룹니다.</p> - -<h2 id="지원_기능"><strong><font face="x-locale-heading-primary, zillaslab, Palatino, Palatino Linotype, x-locale-heading-secondary, serif"><span style="font-size: 37.33327865600586px;">지원 기능</span></font></strong></h2> - -<h3 id="자바스크립트_1.8.5에_추가(Gecko_2_Firefox_4_and_later)">자바스크립트 1.8.5에 추가(Gecko 2, Firefox 4 and later)</h3> - -<p>파이어폭스 4는 <code>Object.*</code> 와 Strict 모드를 포함한 ECMAScript 5의 모든 기능을 지원합니다. <a href="/ko/docs/Web/JavaScript/New_in_JavaScript/1.8.5">자바스크립트 1.8.5의 새기능</a> 보기.</p> - -<h3 id="자바스크립트_1.8.1에_추가_(Gecko_1.9.1_Firefox_3.5)">자바스크립트 1.8.1에 추가 (Gecko 1.9.1, Firefox 3.5)</h3> - -<ul> - <li><a href="/ko/docs/Web/JavaScript/Reference/Global_Objects/JSON">네이티브 JSON </a>지원</li> - <li><a class="internal" href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getPrototypeOf" title="En/Core JavaScript 1.5 Reference/Global Objects/Object/GetPrototypeOf"><code>Object.getPrototypeOf()</code></a> 함수.</li> - <li><a class="internal" href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/Trim" title="En/Core JavaScript 1.5 Reference/Global Objects/String/Trim"><code>String.trim()</code></a> 문자열 양 끝의 공백을 자르는 함수.</li> - <li>Gecko 1.9.1.4 는 ECMAScript 5와 호환하기 위해 <a href="/en-US/docs/Web/JavaScript/Guide/Using_native_JSON#Converting_objects_into_JSON" title="En/Using native JSON#Converting objects into JSON"><code>JSON.stringify()</code></a> 의 구현을 업데이트 하였습니다.</li> -</ul> - -<p>ECMAScript 5 는 특정한 상황에서 XTHML을 자바스크립트 코드로 판단하는 경우를 방지하는 파싱 알고리즘을 만들어냈습니다.</p> - -<h3 id="자바스크립트_1.6에_추가_(Gecko_1.8_Firefox_1.5)">자바스크립트 1.6에 추가 (Gecko 1.8, Firefox 1.5)</h3> - -<p>새로운 <code><a href="/ko/docs/Web/JavaScript/Reference/Global_Objects/Array">배열</a></code> 함수들은, 배열을 가공하기 위해 향상된 방법들을 제공합니다. -- <a href="/ko/docs/Web/JavaScript/New_in_JavaScript/1.6">자바스크립트 1.6</a>부터 자바스크립트의 일부였던 이 것은 이제 ECMAScript 5의 표준 기능으로 자리잡았습니다.</p> - -<h2 id="같이_보기"><font face="x-locale-heading-primary, zillaslab, Palatino, Palatino Linotype, x-locale-heading-secondary, serif"><span style="font-size: 37.33327865600586px;"><strong>같이 보기</strong></span></font></h2> - -<ul> - <li><a class="external" href="http://www.ecmascript.org/" title="http://www.ecmascript.org/">ECMAScript web site</a></li> - <li><a class="external" href="http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf" title="http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf">ECMAScript 5.1 specification</a></li> - <li>John Resig's post on <a class="external" href="http://ejohn.org/blog/objectgetprototypeof/" title="http://ejohn.org/blog/objectgetprototypeof/">Object.getPrototypeOf</a></li> - <li>Michael J. Ryan's implementation of <a class="external" href="http://frugalcoder.us/post/2010/01/07/EcmaScript-5s-Date-Extensions.aspx" title="http://frugalcoder.us/post/2010/01/07/EcmaScript-5s-Date-Extensions.aspx">ECMAScript5 Dates in JavaScript</a></li> - <li><a href="http://kangax.github.io/es5-compat-table/" title="http://kangax.github.io/es5-compat-table/">ECMAScript 5 support across browsers</a></li> -</ul> diff --git a/files/ko/web/javascript/new_in_javascript/ecmascript_6_support_in_mozilla/index.html b/files/ko/web/javascript/new_in_javascript/ecmascript_6_support_in_mozilla/index.html deleted file mode 100644 index bafb603919..0000000000 --- a/files/ko/web/javascript/new_in_javascript/ecmascript_6_support_in_mozilla/index.html +++ /dev/null @@ -1,285 +0,0 @@ ---- -title: ECMAScript 2015 support in Mozilla -slug: Web/JavaScript/New_in_JavaScript/ECMAScript_6_support_in_Mozilla -tags: - - ECMAScript6 - - JavaScript -translation_of: Archive/Web/JavaScript/New_in_JavaScript/ECMAScript_2015_support_in_Mozilla ---- -<div>{{jsSidebar("New_in_JS")}}</div> - -<div> -<p>ECMAScript 2015는 ECMAScript 언어의 6번째 표준 스펙(Spec)입니다. 파이어폭스와 모질라 애플리케이션에서 사용되는 <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey">SpiderMonkey</a> 엔진의 표준 자바스크립트를 정의하고 있습니다.</p> - -<p>"ES.next", "Harmony", or "ECMAScript 6" 등의 코드네임으로 불린 이 표준은 2011년 7월 12일에 "ES.next"라는 명칭으로 초안이 발표되었습니다. 2014년 8월 드디어 ECMAScript 2015 초안의 기능들이 확정되고 안정화와 버그 수정 작업에 들어갔습니다. 그리고 2015년 6월 17일, 드디어 ECMA-262 Edition 6은 ECMA 총회(General Assembly)의 공식 승인을 받아 배포되었습니다. 이 표준은 국제 산업 규격 ISO/IEC 16262:2016이기도 합니다.</p> - -<p><a href="http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf">PDF</a>와 <a href="http://www.ecma-international.org/ecma-262/6.0/index.html">HTML</a> 버전의 표준을 <a href="http://www.ecma-international.org/publications/standards/Ecma-262.htm">ecma-international.org 에서 무료로 다운로드 할 수 있습니다</a>.</p> -</div> - -<p>ECMAScript 표준에 대한 피드백 채널은 <a href="https://mail.mozilla.org/listinfo/es-discuss">es-discuss</a>을 이용하시면 됩니다.</p> - -<h2 id="표준_라이브러리">표준 라이브러리</h2> - -<h3 id="Array_객체_추가사항"><code>Array</code> 객체 추가사항</h3> - -<ul> - <li>{{jsxref("Array")}} iteration with {{jsxref("Statements/for...of", "for...of")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/13" style='background-color: rgb(255, 255, 255); font-family: "Open Sans", arial, x-locale-body, sans-serif;'>Firefox 13</a><span style='background-color: #ffffff; color: #333333; font-family: "Open Sans",arial,x-locale-body,sans-serif;'>)</span></li> - <li>{{jsxref("Array.from()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/32">Firefox 32</a>)</li> - <li>{{jsxref("Array.of()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/25">Firefox 25</a>)</li> - <li>{{jsxref("Array.prototype.fill()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/31">Firefox 31</a>)</li> - <li>{{jsxref("Array.prototype.find()")}}, {{jsxref("Array.prototype.findIndex()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/25">Firefox 25</a>)</li> - <li>{{jsxref("Array.prototype.entries()")}},<br> - {{jsxref("Array.prototype.keys()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/28">Firefox 28</a>),<br> - {{jsxref("Array.prototype.values()")}}</li> - <li>{{jsxref("Array.prototype.copyWithin()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/32">Firefox 32</a>)</li> - <li>{{jsxref("Array.@@species", "get Array[@@species]")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/48">Firefox 48</a>)</li> -</ul> - -<h3 id="새로운_Map과_Set_객체_그리고_WeakMap과_WeakSet_객체">새로운 <code>Map</code>과 <code>Set</code> 객체 그리고 <code>WeakMap과</code> <code>WeakSet 객체</code></h3> - -<ul> - <li>{{jsxref("Map")}} (<a href="/en-US/Firefox/Releases/13">Firefox 13</a>) - - <ul> - <li>{{jsxref("Statements/for...of", "for...of")}}에서의 {{jsxref("Map")}} 반복 (<a href="/en-US/Firefox/Releases/17">Firefox 17</a>)</li> - <li>{{jsxref("Map.prototype.forEach()")}} (<a href="/en-US/Firefox/Releases/25">Firefox 25</a>)</li> - <li>{{jsxref("Map.prototype.entries()")}} (<a href="/en-US/Firefox/Releases/20">Firefox 20</a>)</li> - <li>{{jsxref("Map.prototype.keys()")}} (<a href="/en-US/Firefox/Releases/20">Firefox 20</a>)</li> - <li>{{jsxref("Map.prototype.values()")}}</li> - <li>생성자 인수: <code>new {{jsxref("Map")}}(null)</code> (<a href="/en-US/Firefox/Releases/37">Firefox 37</a>)</li> - <li>몽키 패치 된 생성자 내의 <code>set()</code> (<a href="/en-US/Firefox/Releases/37">Firefox 37</a>)</li> - <li>{{jsxref("Map.@@species", "get Map[@@species]")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/41">Firefox 41</a>)</li> - </ul> - </li> - <li>{{jsxref("Set")}} (<a href="/en-US/Firefox/Releases/13">Firefox 13</a>) - <ul> - <li>{{jsxref("Statements/for...of", "for...of")}}에서의 {{jsxref("Set")}} 반복 (<a href="/en-US/Firefox/Releases/17">Firefox 17</a>)</li> - <li>{{jsxref("Set.prototype.forEach()")}} (<a href="/en-US/Firefox/Releases/25">Firefox 25</a>)</li> - <li>{{jsxref("Set.prototype.entries()")}},<br> - {{jsxref("Set.prototype.keys()")}},<br> - {{jsxref("Set.prototype.values()")}} (<a href="/en-US/Firefox/Releases/24">Firefox 24</a>)</li> - <li>생성자 인수: <code>new {{jsxref("Set")}}(null)</code> (<a href="/en-US/Firefox/Releases/37">Firefox 37</a>)</li> - <li>몽키 패치 된 생성자 내의 <code>add()</code> (<a href="/en-US/Firefox/Releases/37">Firefox 37</a>)</li> - </ul> - </li> - <li>{{jsxref("WeakMap")}} (<a href="/en-US/Firefox/Releases/6">Firefox 6</a>) - <ul> - <li>{{jsxref("WeakMap.clear()")}} (<a href="/en-US/Firefox/Releases/20">Firefox 20</a>)</li> - <li>반복 가능한 {{jsxref("WeakMap")}} 생성자 내의 선택적 인수 (<a href="/en-US/Firefox/Releases/36">Firefox 36</a>)</li> - <li>생성자 인수: <code>new {{jsxref("WeakMap")}}(null)</code> (<a href="/en-US/Firefox/Releases/37">Firefox 37</a>)</li> - <li>몽키 패치 된 생성자 내의 <code>set()</code> (<a href="/en-US/Firefox/Releases/37">Firefox 37</a>)</li> - </ul> - </li> - <li>{{jsxref("WeakSet")}} (<a href="/en-US/Firefox/Releases/34">Firefox 34</a>) - <ul> - <li>생성자 인수: <code>new {{jsxref("WeakSet")}}(null)</code> (<a href="/en-US/Firefox/Releases/37">Firefox 37</a>)</li> - <li>몽키 패치 된 생성자 내의 <code>add()</code> (<a href="/en-US/Firefox/Releases/37">Firefox 37</a>)</li> - </ul> - </li> -</ul> - -<h3 id="새로운_Math_함수">새로운 <code>Math</code> 함수</h3> - -<ul> - <li>{{jsxref("Math.imul()")}} (<a href="/en-US/Firefox/Releases/20">Firefox 20</a>)</li> - <li>{{jsxref("Math.clz32()")}} (<a href="/en-US/Firefox/Releases/31">Firefox 31</a>)</li> - <li>{{jsxref("Math.fround()")}} (<a href="/en-US/Firefox/Releases/26">Firefox 26</a>)</li> - <li>{{jsxref("Math.log10()")}}, {{jsxref("Math.log2()")}}, {{jsxref("Math.log1p()")}}, {{jsxref("Math.expm1()")}}, {{jsxref("Math.cosh()")}}, {{jsxref("Math.sinh()")}}, {{jsxref("Math.tanh()")}}, {{jsxref("Math.acosh()")}}, {{jsxref("Math.asinh()")}}, {{jsxref("Math.atanh()")}}, {{jsxref("Math.hypot()")}}, {{jsxref("Math.trunc()")}}, {{jsxref("Math.sign()")}}, {{jsxref("Math.cbrt()")}} (<a href="/en-US/Firefox/Releases/25">Firefox 25</a>)</li> -</ul> - -<h3 id="Number_객체_추가사항"><code>Number</code> 객체 추가사항</h3> - -<ul> - <li>{{jsxref("Number.isNaN()")}} (<a href="/en-US/Firefox/Releases/16">Firefox 16</a>)</li> - <li>{{jsxref("Number.isFinite()")}} (<a href="/en-US/Firefox/Releases/16">Firefox 16</a>)</li> - <li>{{jsxref("Number.isInteger()")}} (<a href="/en-US/Firefox/Releases/16">Firefox 16</a>)</li> - <li>{{jsxref("Number.parseInt()")}} (<a href="/en-US/Firefox/Releases/25">Firefox 25</a>)</li> - <li>{{jsxref("Number.parseFloat()")}} (<a href="/en-US/Firefox/Releases/25">Firefox 25</a>)</li> - <li>{{jsxref("Number.EPSILON")}} (<a href="/en-US/Firefox/Releases/25">Firefox 25</a>)</li> - <li>{{jsxref("Number.MAX_SAFE_INTEGER")}}, {{jsxref("Number.MIN_SAFE_INTEGER")}} (<a href="/en-US/Firefox/Releases/31">Firefox 31</a>)</li> - <li>{{jsxref("Number.isSafeInteger()")}} (<a href="/en-US/Firefox/Releases/32">Firefox 32</a>)</li> -</ul> - -<h3 id="Object_객체_추가사항"><code>Object</code> 객체 추가사항</h3> - -<ul> - <li>{{jsxref("Object.prototype.__proto__")}}가 표준이 되었습니다.</li> - <li>{{jsxref("Object.is()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/22">Firefox 22</a>)</li> - <li>{{jsxref("Object.setPrototypeOf()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/31">Firefox 31</a>)</li> - <li>{{jsxref("Object.assign()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/34">Firefox 34</a>)</li> - <li>{{jsxref("Object.getOwnPropertySymbols()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/33">Firefox 33</a>)</li> -</ul> - - - -<h3 id="Date_객체_추가사항"><code>Date</code> 객체 추가사항</h3> - -<ul> - <li>{{jsxref("Date.prototype")}} is an ordinary object (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/41">Firefox 41</a>)</li> - <li>generic {{jsxref("Date.prototype.toString")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/41">Firefox 41</a>)</li> - <li>{{jsxref("Date.prototype.@@toPrimitive", "Date.prototype[@@toPrimitive]")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/44">Firefox 44</a>)</li> -</ul> - - - -<h3 id="새로운_Promise_객체">새로운 <code>Promise</code> 객체</h3> - -<ul> - <li>{{jsxref("Promise")}} (<a href="/en-US/Firefox/Releases/24">Firefox 24</a>(<a href="/en-US/Firefox/Releases/29">Firefox 29</a>에서 기본값으로 활성화 되어 있음))</li> -</ul> - - - -<h3 id="새로운_Proxy_객체">새로운 <code>Proxy</code> 객체</h3> - -<ul> - <li>{{jsxref("Proxy")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/18">Firefox 18</a>)</li> - <li>{{jsxref("Global_Objects/Proxy/handler/preventExtensions", "preventExtensions()")}} trap (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/22">Firefox 22</a>)</li> - <li>{{jsxref("Global_Objects/Proxy/handler/isExtensible", "isExtensible()")}} trap (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/31">Firefox 31</a>)</li> - <li>{{jsxref("Global_Objects/Proxy/handler/getPrototypeOf", "getPrototypeOf()")}} and {{jsxref("Global_Objects/Proxy/handler/setPrototypeOf", "setPrototypeOf()")}} traps (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/49">Firefox 49</a>)</li> -</ul> - - - -<h3 id="새로운_Reflect_객체">새로운 <code>Reflect</code> 객체</h3> - -<ul> - <li>{{jsxref("Reflect")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/42">Firefox 42</a>)</li> -</ul> - - - - - -<h3 id="RegExp_객체_추가사항"><code>RegExp</code> 객체 추가사항</h3> - -<ul> - <li>{{jsxref("RegExp")}} sticky (y) flag (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/38">Firefox 38</a>)</li> - <li>{{jsxref("RegExp")}} unicode (u) flag (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/46">Firefox 46</a>)</li> - <li>generic {{jsxref("RegExp.prototype.toString")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/39">Firefox 39</a>)</li> - <li>{{jsxref("RegExp.prototype.@@match()", "RegExp.prototype[@@match]()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/49">Firefox 49</a>)</li> - <li>{{jsxref("RegExp.prototype.@@replace()", "RegExp.prototype[@@replace]()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/49">Firefox 49</a>)</li> - <li>{{jsxref("RegExp.prototype.@@search()", "RegExp.prototype[@@search]()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/49">Firefox 49</a>)</li> - <li>{{jsxref("RegExp.prototype.@@split()", "RegExp.prototype[@@split]()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/49">Firefox 49</a>)</li> - <li>{{jsxref("RegExp.@@species", "get RegExp[@@species]")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/49">Firefox 49</a>)</li> -</ul> - -<h3 id="String_객체_추가사항"><code>String</code> 객체 추가사항</h3> - -<ul> - <li>{{jsxref("String.fromCodePoint()")}} (<a href="/en-US/Firefox/Releases/29">Firefox 29</a>)</li> - <li>{{jsxref("String.prototype.codePointAt()")}} (<a href="/en-US/Firefox/Releases/29">Firefox 29</a>)</li> - <li>{{jsxref("String.prototype.startsWith()")}}, {{jsxref("String.prototype.endsWith()")}} (<a href="/en-US/Firefox/Releases/17">Firefox 17</a>)</li> - <li>{{jsxref("String.prototype.includes()")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/40">Firefox 40</a>) (formerly <code>String.prototype.contains()</code> (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/17">Firefox 17</a>))</li> - <li>{{jsxref("String.prototype.repeat()")}} (<a href="/en-US/Firefox/Releases/24">Firefox 24</a>)</li> - <li>{{jsxref("String.prototype.normalize()")}} (<a href="/en-US/Firefox/Releases/31">Firefox 31</a>)</li> - <li>{{jsxref("String.raw()")}} (<a href="/en-US/Firefox/Releases/34">Firefox 34</a>)</li> - <li>{{jsxref("Global_Objects/String", "u{XXXXXX} 유니코드 코드 포인트", "", 1)}} (<a href="/en-US/Firefox/Releases/40">Firefox 40</a>)</li> -</ul> - -<h3 id="새로운_Symbol_객체">새로운 <code>Symbol</code> 객체</h3> - -<ul> - <li>{{jsxref("Symbol")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/36">Firefox 36</a>)</li> - <li>{{jsxref("Symbol.iterator")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/36">Firefox 36</a>)</li> - <li>{{jsxref("Symbol.for()")}} - global Symbol registry (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/36">Firefox 36</a>)</li> - <li>{{jsxref("Symbol.match")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/40">Firefox 40</a>)</li> - <li>{{jsxref("Symbol.species")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/41">Firefox 41</a>)</li> - <li>{{jsxref("Symbol.toPrimitive")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/44">Firefox 44</a>)</li> - <li>{{jsxref("Symbol.prototype.@@toPrimitive", "Symbol.prototype[@@toPrimitive]")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/44">Firefox 44</a>)</li> - <li>{{jsxref("Symbol.replace")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/49">Firefox 49</a>)</li> - <li>{{jsxref("Symbol.search")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/49">Firefox 49</a>)</li> - <li>{{jsxref("Symbol.split")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/49">Firefox 49</a>)</li> - <li>{{jsxref("Symbol.hasInstance")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/50">Firefox 50</a>)</li> -</ul> - -<h3 id="형식화된_배열">형식화된 배열</h3> - -<p>형식화된 배열은 ECMAScript 2015의 일부로 지정되었고, 더 이상 <a href="https://www.khronos.org/registry/typedarray/specs/latest/">자신의 기존 명세서</a>를 따르지 않습니다.</p> - -<ul> - <li>{{jsxref("ArrayBuffer")}}</li> - <li>{{jsxref("ArrayBuffer.@@species", "get ArrayBuffer[@@species]")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/48">Firefox 48</a>)</li> - <li>{{jsxref("DataView")}}</li> - <li>{{jsxref("Int8Array")}}</li> - <li>{{jsxref("Uint8Array")}}</li> - <li>{{jsxref("Uint8ClampedArray")}}</li> - <li>{{jsxref("Int16Array")}}</li> - <li>{{jsxref("Uint16Array")}}</li> - <li>{{jsxref("Int32Array")}}</li> - <li>{{jsxref("Uint32Array")}}</li> - <li>{{jsxref("Float32Array")}}</li> - <li>{{jsxref("Float64Array")}}</li> - <li>{{jsxref("TypedArray.@@species", "get %TypedArray%[@@species]")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/48">Firefox 48</a>)</li> -</ul> - -<h2 id="표현식과_연산자">표현식과 연산자</h2> - -<ul> - <li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/new.target">new.target</a> (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/41">Firefox 41</a>)</li> - <li><a href="/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator">배열을 위한 Spread 연산자</a> (<a href="/en-US/Firefox/Releases/16">Firefox 16</a>) - <ul> - <li><code>Symbol.iterator</code> 속성 사용 (<a href="/en-US/Firefox/Releases/36">Firefox 36</a>)</li> - </ul> - </li> - <li><a href="/en-US/docs/Web/JavaScript/Reference/Operators/Spread_operator">함수 호출을 위한 Spread 연산자</a> (<a href="/en-US/Firefox/Releases/27">Firefox 27</a>) - <ul> - <li><code>Symbol.iterator</code> 속성 사용 (<a href="/en-US/Firefox/Releases/36">Firefox 36</a>)</li> - </ul> - </li> - <li>{{jsxref("Statements/const", "const")}} (<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript/1.5">JS 1.5</a>, Firefox 1.0) (ES2015 compliance {{bug("950547")}} implemented in Firefox 51)</li> - <li>{{jsxref("Statements/let", "let")}} (<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript/1.7">JS 1.7</a>, <a href="https://developer.mozilla.org/en-US/Firefox/Releases/2">Firefox 2</a>) (ES2015 compliance {{bug("950547")}} implemented in Firefox 51)</li> - <li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment">Destructuring assignment</a> (<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/New_in_JavaScript/1.7">JS 1.7</a>, <a href="https://developer.mozilla.org/en-US/Firefox/Releases/2">Firefox 2</a>) (ES2015 compliance {{bug("1055984")}})</li> -</ul> - -<h2 id="문문장">문(문장)</h2> - -<ul> - <li>{{jsxref("Statements/for...of", "for...of")}}(<a href="/en-US/Firefox/Releases/13">Firefox 13</a>) - - <ul> - <li><code>.iterator()</code>와 <code>.next()</code>에 관한 동작 (<a href="/en-US/Firefox/Releases/17">Firefox 17</a>)</li> - <li><code>"@@iterator"</code> 속성 사용 (<a href="/en-US/Firefox/Releases/27">Firefox 27</a>)</li> - <li><code>Symbol.iterator</code> 속성 사용 (<a href="/en-US/Firefox/Releases/36">Firefox 36</a>)</li> - </ul> - </li> -</ul> - -<h2 id="함수">함수</h2> - -<ul> - <li><a href="/en-US/docs/Web/JavaScript/Reference/Functions_and_function_scope/rest_parameters">Rest 매개 변수</a> (<a href="/en-US/Firefox/Releases/15">Firefox 15</a>)</li> - <li><a href="/en-US/docs/Web/JavaScript/Reference/default_parameters">Default 매개 변수</a> (<a href="/en-US/Firefox/Releases/15">Firefox 15</a>) - <ul> - <li>Parameters without defaults after default parameters (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/26">Firefox 26</a>)</li> - <li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Default_parameters#Destructured_parameter_with_default_value_assignment" title="Default function parameters allow formal parameters to be initialized with default values if no value or undefined is passed.">Destructured parameters with default value assignment</a> (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/41">Firefox 41</a>)</li> - </ul> - </li> - <li><a href="/en-US/docs/Web/JavaScript/Reference/arrow_functions">Arrow 함수</a> (<a href="/en-US/Firefox/Releases/22">Firefox 22</a>)</li> - <li>{{jsxref("Statements/function*", "Generator 함수")}} (<a href="/en-US/Firefox/Releases/26">Firefox 26</a>) - <ul> - <li>{{jsxref("Operators/yield", "yield")}} (<a href="/en-US/Firefox/Releases/26">Firefox 26</a>)</li> - <li>{{jsxref("Operators/yield*", "yield*")}} (<a href="/en-US/Firefox/Releases/27">Firefox 27</a>)</li> - </ul> - </li> - <li>{{jsxref("Functions/arguments/@@iterator", "arguments[@@iterator]")}} (<a href="https://developer.mozilla.org/en-US/Firefox/Releases/46">Firefox 46</a>)</li> -</ul> - -<h2 id="그_밖의_기능">그 밖의 기능</h2> - -<ul> - <li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Lexical_grammar#Numeric_literals">2진과 8진 숫자 리터럴</a> (<a href="/en-US/Firefox/Releases/25">Firefox 25</a>)</li> - <li><a href="/en-US/docs/Web/JavaScript/Reference/template_strings">템플릿 문자열</a> (<a href="/en-US/Firefox/Releases/34">Firefox 34</a>)</li> - <li><a href="/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer#Property_definitions">객체 이니셜라이져: 줄임 속성 이름</a> (<a href="/en-US/Firefox/Releases/33">Firefox 33</a>)</li> - <li><a href="/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer#Computed_property_names">객체 이니셜라이저: 계산된 속성 이름</a> (<a href="/en-US/Firefox/Releases/34">Firefox 34</a>)</li> - <li><a href="/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer#Method_definitions">객체 이니셜라이저: 줄임 메소드 이름</a> (<a href="/en-US/Firefox/Releases/34">Firefox 34</a>)</li> -</ul> - -<h2 id="같이_보기">같이 보기</h2> - -<ul> - <li><a href="http://www.ecmascript.org/">ECMAScript 웹 사이트</a></li> - <li><a href="http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts">ECMAScript 2015 명세서 초안</a></li> - <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=694100">Mozilla ES2015 버그 추적</a></li> - <li><a href="http://kangax.github.io/es5-compat-table/es6" title="http://kangax.github.io/es5-compat-table">브라우저에서의 ECMAScript 2015 지원</a></li> -</ul> diff --git a/files/ko/web/javascript/new_in_javascript/index.html b/files/ko/web/javascript/new_in_javascript/index.html deleted file mode 100644 index 0972eba4d0..0000000000 --- a/files/ko/web/javascript/new_in_javascript/index.html +++ /dev/null @@ -1,71 +0,0 @@ ---- -title: New in JavaScript -slug: Web/JavaScript/New_in_JavaScript -tags: - - JavaScript - - Versions -translation_of: Archive/Web/JavaScript/New_in_JavaScript ---- -<div>{{jsSidebar("New_in_JS")}}</div> - -<p>이 장은 JavaScript 버전 이력에 관한 정보 및 Mozilla/SpiderMonkey 기반 JavaScript 애플리케이션, 가령 Firefox의 구현 상태를 포함합니다.</p> - -<h2 id="ECMAScript_버전">ECMAScript 버전</h2> - -<dl> - <dt><a href="/ko/docs/Web/JavaScript/언어_리소스">언어 리소스</a></dt> - <dd>JavaScript 언어의 기반이 된 ECMAScript 표준에 대해 자세히 알아보세요.</dd> - <dt><a href="/ko/docs/Web/JavaScript/New_in_JavaScript/ECMAScript_5_support_in_Mozilla">ECMAScript 5 지원</a></dt> - <dd>Mozilla 기반 엔진 및 제품에서 현재 표준 ECMA-262 Edition 5.1의 구현 상태.</dd> - <dt><a href="/ko/docs/Web/JavaScript/New_in_JavaScript/ECMAScript_6_support_in_Mozilla">ECMAScript 6 지원</a></dt> - <dd>Mozilla 기반 엔진 및 제품에서 초안 ECMA-262 Edition 6 (ES2015/ES6)의 구현 상태.</dd> - <dt><a href="/ko/docs/Web/JavaScript/New_in_JavaScript/ECMAScript_7_support_in_Mozilla">ECMAScript Next 지원</a></dt> - <dd>Mozilla 기반 엔진 및 제품에서 연간 (ES2016/ES2017/ES2018/...) 출시 계획에 따라 예정된 ECMA-262 기능의 구현 상태.</dd> -</dl> - -<h2 id="JavaScript_출시_기록">JavaScript 출시 기록</h2> - -<dl> - <dt><a href="/ko/docs/Web/JavaScript/New_in_JavaScript/Firefox_JavaScript_changelog">Firefox JavaScript changelog</a></dt> - <dd>Firefox 5 이상에서 구현된 JavaScript 기능은 이 changelog 참조.</dd> -</dl> - -<h2 id="JavaScript_버전">JavaScript 버전</h2> - -<p><strong>사라짐</strong> ({{deprecated_inline}}). 명백한 버전 관리 및 언어 기능의 채택은 Mozilla 전용이었고 <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=867609">제거되는 과정에 있습니다</a>. Firefox 4는 JavaScript 버전 (1.8.5)에 참조되었던 마지막 버전이었습니다. 새로운 ECMA 표준이 있다면, JavaScript 언어 기능은 이제 종종 ECMA-262 Edition 가령 Edition 6 (ES2015/ES6) 내 그들의 초기 정의에 언급됩니다.</p> - -<p>JavaScript는 Netscape Navigator 2.0 및 Internet Explorer 2.0에서 March 1996에 버전 1.0으로 출시되었습니다.</p> - -<dl> - <dt><a href="/ko/docs/Web/JavaScript/New_in_JavaScript/1.1">JavaScript 1.1</a></dt> - <dd>Netscape Navigator 3.0에 실린 버전. August 19, 1996에 출시됨.</dd> - <dt><a href="/ko/docs/Web/JavaScript/New_in_JavaScript/1.2">JavaScript 1.2</a></dt> - <dd>Netscape Navigator 4.0-4.05에 실린 버전. June 11, 1997에 출시됨.</dd> - <dt><a href="/ko/docs/Web/JavaScript/New_in_JavaScript/1.3">JavaScript 1.3</a></dt> - <dd>Netscape Navigator 4.06-4.7x에 실린 버전. October 19, 1998에 출시됨.<br> - ECMA-262 1st 및 2nd Edition을 따르는 표준화 작업.</dd> - <dt><a href="/ko/docs/Web/JavaScript/New_in_JavaScript/1.4">JavaScript 1.4</a></dt> - <dd>Netscape의 서버측 JavaScript에 실린 버전. 1999에 출시됨.</dd> - <dt><a href="/ko/docs/Web/JavaScript/New_in_JavaScript/1.5">JavaScript 1.5</a></dt> - <dd>Netscape Navigator 6.0 및 Firefox 1.0에 실린 버전. November 14, 2000에 출시됨.<br> - ECMA-262 3rd Edition을 따르는 표준화 작업.</dd> - <dt><a href="/ko/docs/Web/JavaScript/New_in_JavaScript/1.6">JavaScript 1.6</a></dt> - <dd>Firefox 1.5에 실린 버전. November 2005에 출시됨.<br> - ECMAScript for XML (E4X), 새로운 <code>Array</code> 메서드 더하기 <code>String</code> 및 <code>Array</code> generics 포함.</dd> - <dt><a href="/ko/docs/Web/JavaScript/New_in_JavaScript/1.7">JavaScript 1.7</a></dt> - <dd>Firefox 2에 실린 버전. October 2006에 출시됨.<br> - 생성기, 반복기, 배열 내포(comprehension), <code>let</code> 식 및 해체 할당 포함.</dd> - <dt><a href="/ko/docs/Web/JavaScript/New_in_JavaScript/1.8">JavaScript 1.8</a></dt> - <dd>Firefox 3에 실린 버전. June 2008에 출시됨.<br> - 식 클로저, 생성기 식 및 <code>Array.reduce()</code> 포함</dd> - <dt><a href="/ko/docs/Web/JavaScript/New_in_JavaScript/1.8.1">JavaScript 1.8.1</a></dt> - <dd>Firefox 3.5에 실린 버전. June 30, 2009에 출시됨.<br> - TraceMonkey JIT 포함 및 native JSON 지원.</dd> - <dt>JavaScript 1.8.2</dt> - <dd>Firefox 3.6에 실린 버전. June 22, 2009에 출시됨.<br> - minor changes만 포함.</dd> - <dt><a href="/ko/docs/Web/JavaScript/New_in_JavaScript/1.8.5">JavaScript 1.8.5</a></dt> - <dd>Firefox 4에 실린 버전. July 27, 2010에 출시됨.<br> - ECMA-262 Edition 5를 따르는 많은 새 기능 포함.<br> - 이게 마지막 JavaScript 버전입니다.</dd> -</dl> diff --git a/files/ko/web/javascript/reference/functions/arguments/caller/index.html b/files/ko/web/javascript/reference/functions/arguments/caller/index.html deleted file mode 100644 index bcdc54c7dc..0000000000 --- a/files/ko/web/javascript/reference/functions/arguments/caller/index.html +++ /dev/null @@ -1,93 +0,0 @@ ---- -title: arguments.caller -slug: Web/JavaScript/Reference/Functions/arguments/caller -translation_of: Archive/Web/JavaScript/arguments.caller ---- -<div>{{jsSidebar("Functions")}}</div> - -<p>이전의 <strong><code>arguments.caller</code></strong> 속성은 현재 실행한 함수를 적용하여 제공했었습니다. 이 속성은 삭제되었으며 더 이상 작동하지 않습니다.</p> - -<h2 id="설명">설명</h2> - -<p>이 속성은 더 이상 이용할 수 없습니다. 하지만 {{jsxref("Function.caller")}} 는 사용할 수 있습니다.</p> - -<pre class="brush: js">function whoCalled() { - if (whoCalled.caller == null) - console.log('I was called from the global scope.'); - else - console.log(whoCalled.caller + ' called me!'); -}</pre> - -<h2 id="예">예</h2> - -<p>다음의 코드는 함수 내에서 <code>arguments.caller </code>값을 확인하기 위해 사용되었지만, 더 이상 작동하지 않습니다.</p> - -<pre class="brush: js example-bad">function whoCalled() { - if (arguments.caller == null) - console.log('I was called from the global scope.'); - else - console.log(arguments.caller + ' called me!'); -} -</pre> - -<h2 id="스펙">스펙</h2> - -<p>초기 정의된 부분이 아닙니다. JavaScript 1.1에서 구현되었으며, 잠재적인 보안 취약의 우려로 ({{bug(7224)}}) 삭제되었습니다.</p> - -<h2 id="브라우저_호환성">브라우저 호환성</h2> - -<p>{{CompatibilityTable}}</p> - -<div id="compat-desktop"> -<table class="compat-table"> - <tbody> - <tr> - <th>Feature</th> - <th>Chrome</th> - <th>Firefox (Gecko)</th> - <th>Internet Explorer</th> - <th>Opera</th> - <th>Safari</th> - </tr> - <tr> - <td>Basic support</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - </tr> - </tbody> -</table> -</div> - -<div id="compat-mobile"> -<table class="compat-table"> - <tbody> - <tr> - <th>Feature</th> - <th>Android</th> - <th>Chrome for Android</th> - <th>Firefox Mobile (Gecko)</th> - <th>IE Mobile</th> - <th>Opera Mobile</th> - <th>Safari Mobile</th> - </tr> - <tr> - <td>Basic support</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - <td>{{CompatNo}}</td> - </tr> - </tbody> -</table> -</div> - -<h2 id="참조">참조</h2> - -<ul> - <li>{{jsxref("Function")}}</li> -</ul> diff --git a/files/ko/web/javascript/reference/global_objects/array/observe/index.html b/files/ko/web/javascript/reference/global_objects/array/observe/index.html deleted file mode 100644 index 015ae049c5..0000000000 --- a/files/ko/web/javascript/reference/global_objects/array/observe/index.html +++ /dev/null @@ -1,87 +0,0 @@ ---- -title: Array.observe() -slug: Web/JavaScript/Reference/Global_Objects/Array/observe -tags: - - Array - - JavaScript - - Method - - Obsolete -translation_of: Archive/Web/JavaScript/Array.observe ---- -<div>{{JSRef}} {{obsolete_header}}</div> - -<p><strong><code>Array.observe()</code> </strong>메서드는 {{jsxref("Object.observe()")}}가 객체를 관찰하는 것과 비슷하게 , 배열의 변화를 비동기 적으로 관찰 하는데 사용 되었습니다. <font face="Consolas, Liberation Mono, Courier, monospace">그것은 </font>발생 순서에 따른 변화의 흐름을 제공합니다. <code>Object.observe()</code>가 accept type list <code>["add", "update", "delete", "splice"]</code>와 함께 호출되는 것과 같습니다. 하지만 이 API는 더이상 사용되지 않고 브라우저에서 제거 되었습니다. 대신, 더 일반적인 {{jsxref("Proxy")}} 객체를 사용하세요.</p> - -<h2 id="구문">구문</h2> - -<pre class="syntaxbox">Array.observe(<var>arr</var>, <var>callback</var>)</pre> - -<h3 id="매개변수">매개변수</h3> - -<dl> - <dt><code>arr</code></dt> - <dd>관찰 할 배열</dd> - <dt><code>callback</code></dt> - <dd>이 함수는 변화가 일어날때 마다 다음과 같은 인수와 함께 호출됩니다. - <dl> - <dt><code>changes</code></dt> - <dd>변경을 나타내는 각 객체들의 배열입니다. 이 변경 객체들의 프로퍼티 들은: - <ul> - <li><strong><code>name</code></strong>: 변경된 프로퍼티의 이름</li> - <li><strong><code>object</code></strong>: 변경 후 배열</li> - <li><strong><code>type</code></strong>: 변경 타입을 나타내는 문자. <code>"add"</code>, <code>"update"</code>, <code>"delete"</code>, 또는 <code>"splice" 중 하나</code>.</li> - <li><strong><code>oldValue</code></strong>: <code>"update"</code> 나 <code>"delete"유형에만 해당합니다. 변경 전 값</code>.</li> - <li><strong><code>index</code></strong>: <code>"splice"유형에만 해당합니다</code>. 변경이 발생한 인덱스.</li> - <li><strong><code>removed</code></strong>: <code>"splice"유형에만 해당합니다</code>. 삭제 된 요소들의 배열.</li> - <li><strong><code>addedCount</code></strong>: <code>"splice"유형에만 해당합니다</code>. 추가 된 요소들의 숫자.</li> - </ul> - </dd> - </dl> - </dd> -</dl> - -<h2 id="설명">설명</h2> - -<p>콜백 함수는 arr이 변경 될 때마다 호출되며 발생하는 순서대로 모든 변경 사항의 배열로 호출됩니다</p> - -<div class="note"> -<p><code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/pop">Array.prototype.pop()</a>이</code> <code>"splice"</code> 변경으로 보고되는 것처럼, 변경은 배열 메서드를 통해 일어납니다. 배열 길이를 변경하지 않는 인덱스 할당 변경은 "update" 변경으로 보고 될 수 있습니다.</p> -</div> - -<h2 id="예제">예제</h2> - -<h3 id="다른_변경_유형_로깅(Logging)">다른 변경 유형 로깅(Logging)</h3> - -<pre class="brush: js">var arr = ['a', 'b', 'c']; - -Array.observe(arr, function(changes) { - console.log(changes); -}); - -arr[1] = 'B'; -// [{type: 'update', object: <arr>, name: '1', oldValue: 'b'}] - -arr[3] = 'd'; -// [{type: 'splice', object: <arr>, index: 3, removed: [], addedCount: 1}] - -arr.splice(1, 2, 'beta', 'gamma', 'delta'); -// [{type: 'splice', object: <arr>, index: 1, removed: ['B', 'c'], addedCount: 3}] -</pre> - -<h2 id="명세">명세</h2> - -<p><a href="https://github.com/arv/ecmascript-object-observe">Strawman proposal specification</a>.</p> - -<h2 id="브라우저_호환성">브라우저 호환성</h2> - - - -<p>{{Compat("javascript.builtins.Array.observe")}}</p> - -<h2 id="같이_보기">같이 보기</h2> - -<ul> - <li><a href="//stackoverflow.com/q/29269057/778272">Under what condition would Array.observe's “add” event trigger?</a></li> - <li>{{jsxref("Array.unobserve()")}} {{obsolete_inline}}</li> - <li>{{jsxref("Object.observe()")}} {{obsolete_inline}}</li> -</ul> diff --git a/files/ko/web/javascript/reference/global_objects/object/observe/index.html b/files/ko/web/javascript/reference/global_objects/object/observe/index.html deleted file mode 100644 index bf3b004d8c..0000000000 --- a/files/ko/web/javascript/reference/global_objects/object/observe/index.html +++ /dev/null @@ -1,193 +0,0 @@ ---- -title: Object.observe() -slug: Web/JavaScript/Reference/Global_Objects/Object/observe -tags: - - 감시 객체 -translation_of: Archive/Web/JavaScript/Object.observe ---- -<div>{{JSRef}}</div> - -<p><strong><code>Object.observe()</code></strong> 메소드는 객체의 변화를 비동기로 감시하는데에 사용된다. 이 메소드는 변화들이 발생한 순서대로 그 흐름을 제공한다.</p> - -<h2 id="문법">문법</h2> - -<pre class="syntaxbox"><code>Object.observe(<var>obj</var>, <var>callback</var>[, <var>acceptList</var>])</code></pre> - -<h3 id="파라미터">파라미터</h3> - -<dl> - <dt><code>obj</code></dt> - <dd>감시될 객체입니다.</dd> - <dt><code>callback</code></dt> - <dd><code>obj</code>의 변경이 일어났을 때마다 호출될 함수입니다. 다음과 같은 인자를 갖습니다. - <dl> - <dt><code>changes</code></dt> - <dd>변경 사항을 나타내는 객체의 배열입니다. 그 객체의 프로퍼티는 다음과 같습니다. - <ul> - <li><strong><code>name</code></strong>: 변경된 프로퍼티의 이름입니다.</li> - <li><strong><code>object</code></strong>: 변경이 일어난 뒤의 객체입니다.</li> - <li><strong><code>type</code></strong>: 변경의 종류를 의미하는 string입니다. <code>"add"</code>, <code>"update"</code>, <code>"delete"</code> 중 하나입니다.</li> - <li><strong><code>oldValue</code></strong>: 변경되기 이전의 값입니다. <code>"update"와</code> <code>"delete"</code> 타입에만 존재합니다.</li> - </ul> - </dd> - </dl> - </dd> - <dt><code>acceptList</code></dt> - <dd>감시할 변경의 종류를 의미하는 리스트입니다. 주어지지 않은 경우, 배열 <code>["add", "update", "delete", "reconfigure", "setPrototype", "preventExtensions"]</code> 이 이용될 것입니다.</dd> -</dl> - -<h2 id="설명">설명</h2> - -<p><code>callback</code>은 <code>obj</code>에 변경이 있을 때마다 실행되며, 모든 변경 사항이 일어난 순서대로 담긴 배열이 전달됩니다.</p> - -<h2 id="예제">예제</h2> - -<h3 id="Logging_all_six_different_types">Logging all six different types</h3> - -<pre class="brush: js">var obj = { - foo: 0, - bar: 1 -}; - -Object.observe(obj, function(changes) { - console.log(changes); -}); - -obj.baz = 2; -// [{name: 'baz', object: <obj>, type: 'add'}] - -obj.foo = 'hello'; -// [{name: 'foo', object: <obj>, type: 'update', oldValue: 0}] - -delete obj.baz; -// [{name: 'baz', object: <obj>, type: 'delete', oldValue: 2}] - -Object.defineProperty(obj, 'foo', {writable: false}); -// [{name: 'foo', object: <obj>, type: 'reconfigure'}] - -Object.setPrototypeOf(obj, {}); -// [{name: '__proto__', object: <obj>, type: 'setPrototype', oldValue: <prototype>}] - -Object.seal(obj); -// [ -// {name: 'foo', object: <obj>, type: 'reconfigure'}, -// {name: 'bar', object: <obj>, type: 'reconfigure'}, -// {object: <obj>, type: 'preventExtensions'} -// ] -</pre> - -<h3 id="데이터_바인딩">데이터 바인딩</h3> - -<pre class="brush: js">// A user model -var user = { - id: 0, - name: 'Brendan Eich', - title: 'Mr.' -}; - -// Create a greeting for the user -function updateGreeting() { - user.greeting = 'Hello, ' + user.title + ' ' + user.name + '!'; -} -updateGreeting(); - -Object.observe(user, function(changes) { - changes.forEach(function(change) { - // Any time name or title change, update the greeting - if (change.name === 'name' || change.name === 'title') { - updateGreeting(); - } - }); -}); -</pre> - -<h3 id="Custom_change_type">Custom change type</h3> - -<pre class="brush: js">// A point on a 2D plane -var point = {x: 0, y: 0, distance: 0}; - -function setPosition(pt, x, y) { - // Performing a custom change - Object.getNotifier(pt).performChange('reposition', function() { - var oldDistance = pt.distance; - pt.x = x; - pt.y = y; - pt.distance = Math.sqrt(x * x + y * y); - return {oldDistance: oldDistance}; - }); -} - -Object.observe(point, function(changes) { - console.log('Distance change: ' + (point.distance - changes[0].oldDistance)); -}, ['reposition']); - -setPosition(point, 3, 4); -// Distance change: 5 -</pre> - -<h2 id="Specifications">Specifications</h2> - -<p><a href="https://github.com/arv/ecmascript-object-observe">Strawman proposal for ECMAScript 7</a>.</p> - -<h2 id="브라우저_호환성">브라우저 호환성</h2> - -<div>{{CompatibilityTable}}</div> - -<div id="compat-desktop"> -<table class="compat-table"> - <tbody> - <tr> - <th>Feature</th> - <th>Chrome</th> - <th>Firefox (Gecko)</th> - <th>Internet Explorer</th> - <th>Opera</th> - <th>Safari</th> - </tr> - <tr> - <td>Basic support</td> - <td>{{CompatChrome("36")}}</td> - <td>{{CompatNo}} [1]</td> - <td>{{CompatNo}} [2]</td> - <td>{{CompatOpera("23")}}</td> - <td>{{CompatNo}}</td> - </tr> - </tbody> -</table> -</div> - -<div id="compat-mobile"> -<table class="compat-table"> - <tbody> - <tr> - <th>Feature</th> - <th>Android</th> - <th>Chrome for Android</th> - <th>Firefox Mobile (Gecko)</th> - <th>IE Mobile</th> - <th>Opera Mobile</th> - <th>Safari Mobile</th> - </tr> - <tr> - <td>Basic support</td> - <td>{{CompatNo}}</td> - <td>{{CompatChrome("36")}}</td> - <td>{{CompatNo}} [1]</td> - <td>{{CompatNo}} [2]</td> - <td>{{CompatOpera("23")}}</td> - <td>{{CompatNo}}</td> - </tr> - </tbody> -</table> -</div> - -<p>[1]: See {{bug(800355)}}</p> - -<p>[2]: See relevant <a href="https://dev.modern.ie/platform/status/objectobserve/">MS Edge platform status entry</a></p> - -<h2 id="같이_보기">같이 보기</h2> - -<ul> - <li>{{jsxref("Object.unobserve()")}} {{experimental_inline}}</li> - <li>{{jsxref("Array.observe()")}} {{experimental_inline}}</li> -</ul> diff --git a/files/ko/web/javascript/reference/liveconnect/index.html b/files/ko/web/javascript/reference/liveconnect/index.html deleted file mode 100644 index dfa43d52d0..0000000000 --- a/files/ko/web/javascript/reference/liveconnect/index.html +++ /dev/null @@ -1,17 +0,0 @@ ---- -title: LiveConnect -slug: Web/JavaScript/Reference/LiveConnect -translation_of: Archive/Web/LiveConnect ---- -<p>이 절(section)은 생성자, 메소드와 함께 LiveConnect에 쓰이는 Java 클래스를 상세히 기록합니다. 이 클래스들은 Java 객체가 JavaScript 코드에 접근할 수 있게 합니다.</p> -<p><a href="ko/Core_JavaScript_1.5_Reference/LiveConnect/JSException">JSException</a></p> -<dl> - <dd> - public 클래스 <code>JSException</code>은 <code>RuntimeException</code>를 상속하고, JavaScript가 에러를 반환하면 발생됩니다.</dd> -</dl> -<p><a href="ko/Core_JavaScript_1.5_Reference/LiveConnect/JSObject">JSObject</a></p> -<dl> - <dd> - public 클래스 <code>JSObject</code>는 <code>Object</code>를 상속합니다. JavaScript 개체는 클래스 <code>JSObject</code>의 인스턴스(instance)로 싸여 Java가 JavaScript 개체를 다루게 하도록 Java에 건네집니다.</dd> -</dl> -<p>{{ languages( { "en": "en/Core_JavaScript_1.5_Reference/LiveConnect", "pl": "pl/Dokumentacja_j\u0119zyka_JavaScript_1.5/LiveConnect" } ) }}</p> diff --git a/files/ko/web/javascript/reference/operators/expression_closures/index.html b/files/ko/web/javascript/reference/operators/expression_closures/index.html deleted file mode 100644 index bf44be6cd7..0000000000 --- a/files/ko/web/javascript/reference/operators/expression_closures/index.html +++ /dev/null @@ -1,79 +0,0 @@ ---- -title: 표현식 클로저 -slug: Web/JavaScript/Reference/Operators/Expression_closures -tags: - - Function - - JavaScript - - Non-standard - - Obsolete - - Operator - - Reference -translation_of: Archive/Web/JavaScript/Expression_closures ---- -<div>{{JSSidebar("Operators")}}{{Non-standard_Header}}{{Obsolete_Header("gecko60")}} -<div class="warning"><strong>Non-standard. Do not use!</strong><br> -The expression closure syntax is a deprecated Firefox-specific feature and has been removed starting with Firefox 60. For future-facing usages, consider using <a href="/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions">arrow functions</a>.</div> -</div> - -<p>클로져는 간단한 함수를 작성하기 위한 짧은 함수구문 입니다.</p> - -<h2 id="Syntax">Syntax</h2> - -<pre class="syntaxbox">function [<em>name</em>]([<em>param1</em>[, <em>param2[</em>, ..., <em>paramN</em>]]]) - <em>expression</em> -</pre> - -<h3 id="Parameters">Parameters</h3> - -<dl> - <dt><code>name</code></dt> - <dd>함수의 이름입니다. 익명함수의 경우에는 생략할 수 있습니다. 이름은 함수본문에만 국한됩니다.</dd> - <dt><code>paramN</code></dt> - <dd>함수에 전달할 인수의 이름입니다. 함수는 최대 255개의 인수를 가질 수 있습니다.</dd> - <dt><code>expression</code></dt> - <dd>함수의 본문을 구성하는 표현식입니다.</dd> -</dl> - -<h2 id="Description">Description</h2> - -<p>이 추가적인 기능은 <a class="external" href="http://en.wikipedia.org/wiki/Lambda_calculus#Lambda_calculus_and_programming_languages">람다 표기법</a>과 비슷한 언어를 제공하기위해 간단한 기능을 작성하는데 필요한 단축형일 뿐입니다.</p> - -<p>JavaScript 1.7 and older:</p> - -<pre class="brush: js">function(x) { return x * x; }</pre> - -<p>JavaScript 1.8:</p> - -<pre class="brush: js">function(x) x * x</pre> - -<p>이 구문을 사용하면 중괄호나 'return'문을 생략하여 암시적으로 만들 수 있습니다. 코드를 더 짧게 만들 수 있는 것 이외의 이방법으로 얻을 수 있는 추가 이점은 없습니다.</p> - -<h2 id="Examples">Examples</h2> - -<p>바인딩 이벤트 리스너의 간단한 예제:</p> - -<pre class="brush: js"> document.addEventListener('click', function() false, true); -</pre> - -<p>JavaScript 1.6의 일부 배열 함수에 이 표기법을 사용합니다:</p> - -<pre class="brush: js">elems.some(function(elem) elem.type == 'text'); -</pre> - -<h2 id="Browser_compatibility">Browser compatibility</h2> - - - -<p>{{Compat("javascript.operators.expression_closures")}}</p> - -<h2 id="See_also">See also</h2> - -<ul> - <li>{{jsxref("Functions_and_function_scope", "Functions and function scope")}}</li> - <li>{{jsxref("Function")}}</li> - <li>{{jsxref("Statements/function", "function statement")}}</li> - <li>{{jsxref("Operators/function", "function expression")}}</li> - <li>{{jsxref("Statements/function*", "function* statement")}}</li> - <li>{{jsxref("Operators/function*", "function* expression")}}</li> - <li>{{jsxref("GeneratorFunction")}}</li> -</ul> diff --git a/files/ko/web/javascript/reference/operators/generator_comprehensions/index.html b/files/ko/web/javascript/reference/operators/generator_comprehensions/index.html deleted file mode 100644 index 927b613dc6..0000000000 --- a/files/ko/web/javascript/reference/operators/generator_comprehensions/index.html +++ /dev/null @@ -1,174 +0,0 @@ ---- -title: 생성기 내포 -slug: Web/JavaScript/Reference/Operators/Generator_comprehensions -tags: - - JavaScript - - Non-standard - - Obsolete - - Reference -translation_of: Archive/Web/JavaScript/Generator_comprehensions ---- -<div>{{JSSidebar("Operators")}}{{Non-standard_Header}}{{Obsolete_Header("gecko58")}} -<div class="blockIndicator warning"> -<p><strong>Non-standard. Do not use!</strong><br> - The generator comprehensions syntax is non-standard and removed starting with Firefox 58. For future-facing usages, consider using {{JSxRef("Statements/function*", "generator", "", 1)}}.</p> -</div> -</div> - -<p>The <strong>generator comprehension</strong> syntax was a JavaScript expression which allowed you to quickly assemble a new generator function based on an existing iterable object. However, it has been removed from the standard and the Firefox implementation. Do not use it!</p> - -<h2 id="Syntax">Syntax</h2> - -<pre class="syntaxbox">(for (x of iterable) x) -(for (x of iterable) if (condition) x) -(for (x of iterable) for (y of iterable) x + y) -</pre> - -<h2 id="Description">Description</h2> - -<p>Inside generator comprehensions, these two kinds of components are allowed:</p> - -<ul> - <li>{{JSxRef("Statements/for...of", "for...of")}} and</li> - <li>{{JSxRef("Statements/if...else", "if")}}</li> -</ul> - -<p>The <code>for-of</code> iteration is always the first component. Multiple <code>for-of</code> iterations or if statements are allowed.</p> - -<p>A significant drawback of {{JSxRef("Operators/Array_comprehensions","array comprehensions","","true")}} is that they cause an entire new array to be constructed in memory. When the input to the comprehension is itself a small array the overhead involved is insignificant — but when the input is a large array or an expensive (or indeed infinite) generator the creation of a new array can be problematic.</p> - -<p>Generators enable lazy computation of sequences, with items calculated on-demand as they are needed. Generator comprehensions are syntactically almost identical to array comprehensions — they use parentheses instead of braces— but instead of building an array they create a generator that can execute lazily. You can think of them as short hand syntax for creating generators.</p> - -<p>Suppose we have an iterator <code>it</code> which iterates over a large sequence of integers. We want to create a new iterator that will iterate over their doubles. An array comprehension would create a full array in memory containing the doubled values:</p> - -<pre class="brush: js">var doubles = [for (i in it) i * 2]; -</pre> - -<p>A generator comprehension on the other hand would create a new iterator which would create doubled values on demand as they were needed:</p> - -<pre class="brush: js">var it2 = (for (i in it) i * 2); -console.log(it2.next()); // The first value from it, doubled -console.log(it2.next()); // The second value from it, doubled -</pre> - -<p>When a generator comprehension is used as the argument to a function, the parentheses used for the function call means that the outer parentheses can be omitted:</p> - -<pre class="brush: js">var result = doSomething(for (i in it) i * 2); -</pre> - -<p>The significant difference between the two examples being that by using the generator comprehension, you would only have to loop over the 'obj' structure once, total, as opposed to once when comprehending the array, and again when iterating through it.</p> - -<h2 id="Examples">Examples</h2> - -<h3 id="Simple_generator_comprehensions">Simple generator comprehensions</h3> - -<pre class="brush:js">(for (i of [1, 2, 3]) i * i ); -// generator function which yields 1, 4, and 9 - -[...(for (i of [1, 2, 3]) i * i )]; -// [1, 4, 9] - -var abc = ['A', 'B', 'C']; -(for (letters of abc) letters.toLowerCase()); -// generator function which yields "a", "b", and "c" -</pre> - -<h3 id="Generator_comprehensions_with_if_statement">Generator comprehensions with if statement</h3> - -<pre class="brush: js">var years = [1954, 1974, 1990, 2006, 2010, 2014]; - -(for (year of years) if (year > 2000) year); -// generator function which yields 2006, 2010, and 2014 - -(for (year of years) if (year > 2000) if (year < 2010) year); -// generator function which yields 2006, the same as below: - -(for (year of years) if (year > 2000 && year < 2010) year); -// generator function which yields 2006 -</pre> - -<h3 id="Generator_comprehensions_compared_to_generator_function">Generator comprehensions compared to generator function</h3> - -<p>An easy way to understand generator comprehension syntax, is to compare it with the generator function.</p> - -<p>Example 1: Simple generator.</p> - -<pre class="brush: js">var numbers = [1, 2, 3]; - -// Generator function -(function*() { - for (let i of numbers) { - yield i * i; - } -})(); - -// Generator comprehension -(for (i of numbers) i * i ); - -// Result: both return a generator which yields [1, 4, 9] -</pre> - -<p>Example 2: Using <code>if</code> in generator.</p> - -<pre class="brush: js">var numbers = [1, 2, 3]; - -// Generator function -(function*() { - for (let i of numbers) { - if (i < 3) { - yield i * 1; - } - } -})(); - -// Generator comprehension -(for (i of numbers) if (i < 3) i); - -// Result: both return a generator which yields [1, 2]</pre> - -<h2 id="Specifications">Specifications</h2> - -<p>Generator comprehensions were initially in the ECMAScript 2015 draft, but got removed in revision 27 (August 2014). Please see older revisions of ES2015 for specification semantics.</p> - -<h2 id="Browser_compatibility">Browser compatibility</h2> - - - -<p>{{Compat("javascript.operators.generator_comprehensions")}}</p> - -<h2 id="Differences_to_the_older_JS1.7JS1.8_comprehensions">Differences to the older JS1.7/JS1.8 comprehensions</h2> - -<div class="blockIndicator warning">JS1.7/JS1.8 comprehensions are removed from Gecko 46 ({{bug(1220564)}}).</div> - -<p><strong>Old comprehensions syntax (do not use anymore!):</strong></p> - -<pre class="brush: js example-bad">(X for (Y in Z)) -(X for each (Y in Z)) -(X for (Y of Z)) -</pre> - -<p>Differences:</p> - -<ul> - <li>ES7 comprehensions create one scope per "for" node instead of the comprehension as a whole. - <ul> - <li>Old: <code>[...(()=>x for (x of [0, 1, 2]))][1]() // 2</code></li> - <li>New: <code>[...(for (x of [0, 1, 2]) ()=>x)][1]() // 1, each iteration creates a fresh binding for x. </code></li> - </ul> - </li> - <li>ES7 comprehensions start with "for" instead of the assignment expression. - <ul> - <li>Old: <code>(i * 2 for (i of numbers))</code></li> - <li>New: <code>(for (i of numbers) i * 2)</code></li> - </ul> - </li> - <li>ES7 comprehensions can have multiple <code>if</code> and <code>for</code> components.</li> - <li>ES7 comprehensions only work with <code>{{JSxRef("Statements/for...of", "for...of")}}</code> and not with <code>{{JSxRef("Statements/for...in", "for...in")}}</code> iterations.</li> -</ul> - -<h2 id="See_also">See also</h2> - -<ul> - <li>{{JSxRef("Statements/for...of", "for...of")}}</li> - <li>{{JSxRef("Operators/Array_comprehensions", "Array comprehensions")}}</li> -</ul> diff --git a/files/ko/web/javascript/reference/operators/배열/index.html b/files/ko/web/javascript/reference/operators/배열/index.html deleted file mode 100644 index 4bdd29b61c..0000000000 --- a/files/ko/web/javascript/reference/operators/배열/index.html +++ /dev/null @@ -1,200 +0,0 @@ ---- -title: 배열 내포 -slug: Web/JavaScript/Reference/Operators/배열 -tags: - - JavaScript - - Non-standard - - Obsolete - - Operator - - Reference -translation_of: Archive/Web/JavaScript/Array_comprehensions ---- -<div>{{jsSidebar("Operators")}}</div> - -<div class="warning"><strong>표준이 아닙니다. 사용하지 않는 것을 권장합니다!</strong><br> -Array comprehensions 문법은 비표준이며 Firefox 58부터는 제거됩니다. 향후 사용할 수 없게 되기 때문에 사용하지 않는것을 고려해보세요.<br> -{{jsxref("Array.prototype.map")}}, {{jsxref("Array.prototype.filter")}}, {{jsxref("Functions/Arrow_functions", "arrow functions", "", 1)}}, and {{jsxref("Operators/Spread_operator", "spread syntax", "", 1)}}.</div> - -<div>{{Obsolete_Header(58)}}</div> - -<p><strong>array comprehension </strong>문법은 기존의 배열을 기반으로 새로운 배열을 신속하게 어셈블 할 수 있는 JavaScript 표현식입니다. 그러나 표준 및 Firefox 구현에서 제거되었습니다. 사용하지 마세요!</p> - -<h2 id="Syntax">Syntax</h2> - -<pre class="syntaxbox">[for (x of iterable) x] -[for (x of iterable) if (condition) x] -[for (x of iterable) for (y of iterable) x + y] -</pre> - -<h2 id="Description">Description</h2> - -<p>배열의 이해로 넘어가서, 다음 두가지의 요소들이 사용가능하다.</p> - -<ul> - <li>{{jsxref("Statements/for...of", "for...of")}} and</li> - <li>{{jsxref("Statements/if...else", "if")}}</li> -</ul> - -<p>for-of 반복문은 항상 첫번째 요소이다. 여러개의 for-of 반복문이나 if 제어문을 사용할 수 있다.</p> - -<p>배열 선언은 ECMAScript 2016에서 이전부터 표준으로 정립되어왔으며, 이는 다른 형태의 데이터(contents)를 이용해서 새로운 배열을 구성할 수 있게 해 준다.</p> - -<p>아래의 선언은 숫자로 이루어진 배열 내 각각의 숫자들을 이용해서 double형의 새로운 배열을 만들어준다.</p> - -<pre class="brush: js">var numbers = [1, 2, 3, 4]; -var doubled = [for (i of numbers) i * 2]; -console.log(doubled); // logs 2,4,6,8 -</pre> - -<p>이것은 {{jsxref("Array.prototype.map", "map()")}} 연산자와 같은 기능을 한다.</p> - -<pre class="brush: js">var doubled = numbers.map(i => i * 2); -</pre> - -<p>배열들은 또한 다양한 표현을 통해 몇몇개의 배열 원소들은 선택할 수 도 있다. 아래의 예제는 바로 홀수만 선택하는 예제이다.</p> - -<pre class="brush: js">var numbers = [1, 2, 3, 21, 22, 30]; -var evens = [for (i of numbers) if (i % 2 === 0) i]; -console.log(evens); // logs 2,22,30 -</pre> - -<p>{{jsxref("Array.prototype.filter", "filter()")}} 또한 같은 목적으로 얼마든지 사용가능하다.</p> - -<pre class="brush: js">var evens = numbers.filter(i => i % 2 === 0); -</pre> - -<p>{{jsxref("Array.prototype.map", "map()")}} 그리고 {{jsxref("Array.prototype.filter", "filter()")}} 스타일과 같은 연산자들은 단한 배열 선언과 결합할 수 있다. 아래는 짝수만 필터링하고, 그 원소들을 2배씩하는 배열들을 만드는 예제이다.</p> - -<pre class="brush: js">var numbers = [1, 2, 3, 21, 22, 30]; -var doubledEvens = [for (i of numbers) if (i % 2 === 0) i * 2]; -console.log(doubledEvens); // logs 4,44,60 -</pre> - -<p>배열에서의 [ ] (꺽쇠괄호) 는 범위의 목적으로 암시적인 괄호를 의미한다. {{jsxref("Statements/let","let")}}를 사용하면서 정의된다면, 예제의 i와 같은 변수들이 사용된다. 이는 배열 밖에서 사용할 수 없음을 나타낸다.</p> - -<p>배열의 원소에 넣어지는 것은 굳이 배열일 필요는 없다 <a href="/en-US/docs/Web/JavaScript/Guide/Iterators_and_Generators" title="en-US/docs/JavaScript/Guide/Iterators and Generators">iterators and generators</a> 물론 가능하다.</p> - -<p>심지어 문자열도 배열의 원소로 넣을 수 있다. 필터와 지도 액션과 같은 데에 이용할 수 있다.</p> - -<pre class="brush: js">var str = 'abcdef'; -var consonantsOnlyStr = [for (c of str) if (!(/[aeiouAEIOU]/).test(c)) c].join(''); // 'bcdf' -var interpolatedZeros = [for (c of str) c + '0' ].join(''); // 'a0b0c0d0e0f0' -</pre> - -<p>또한 입력 폼이 유지되지 않으므로, 문자열을 뒤집기 위해 {{jsxref("Array.prototype.join", "join()")}} 를 사용해야 한다.</p> - -<h2 id="Examples">Examples</h2> - -<h3 id="단순_배열">단순 배열</h3> - -<pre class="brush:js">[for (i of [1, 2, 3]) i * i ]; -// [1, 4, 9] - -var abc = ['A', 'B', 'C']; -[for (letters of abc) letters.toLowerCase()]; -// ["a", "b", "c"]</pre> - -<h3 id="if문에서의_배열">if문에서의 배열</h3> - -<pre class="brush: js">var years = [1954, 1974, 1990, 2006, 2010, 2014]; -[for (year of years) if (year > 2000) year]; -// [ 2006, 2010, 2014 ] -[for (year of years) if (year > 2000) if (year < 2010) year]; -// [ 2006], the same as below: -[for (year of years) if (year > 2000 && year < 2010) year]; -// [ 2006] -</pre> - -<h3 id="map과_filter를_비교한_배열">map과 filter를 비교한 배열</h3> - -<p>배열문법을 가장 쉽게 이해하는 방법은, 배열에서 {{jsxref("Array.map", "map")}} 그리고 {{jsxref("Array.filter", "filter")}}메소드를 비교하는 것이다.</p> - -<pre class="brush: js">var numbers = [1, 2, 3]; - -numbers.map(function (i) { return i * i }); -numbers.map(i => i * i); -[for (i of numbers) i * i]; -// all are [1, 4, 9] - -numbers.filter(function (i) { return i < 3 }); -numbers.filter(i => i < 3); -[for (i of numbers) if (i < 3) i]; -// all are [1, 2] -</pre> - -<h3 id="2개의_배열">2개의 배열</h3> - -<p>2개의 배열과 2개의 for-of 반복문을 살펴본다.</p> - -<pre class="brush: js">var numbers = [1, 2, 3]; -var letters = ['a', 'b', 'c']; - -var cross = [for (i of numbers) for (j of letters) i + j]; -// ["1a", "1b", "1c", "2a", "2b", "2c", "3a", "3b", "3c"] - -var grid = [for (i of numbers) [for (j of letters) i + j]]; -// [ -// ["1a", "1b", "1c"], -// ["2a", "2b", "2c"], -// ["3a", "3b", "3c"] -// ] - -[for (i of numbers) if (i > 1) for (j of letters) if(j > 'a') i + j] -// ["2b", "2c", "3b", "3c"], the same as below: - -[for (i of numbers) for (j of letters) if (i > 1) if(j > 'a') i + j] -// ["2b", "2c", "3b", "3c"] - -[for (i of numbers) if (i > 1) [for (j of letters) if(j > 'a') i + j]] -// [["2b", "2c"], ["3b", "3c"]], not the same as below: - -[for (i of numbers) [for (j of letters) if (i > 1) if(j > 'a') i + j]] -// [[], ["2b", "2c"], ["3b", "3c"]] -</pre> - -<h2 id="명세">명세</h2> - -<p>ECMAScript 2015 초안에 있었지만 개정 27(2014년 8월)에서 삭제되었습니다. specification semantics에 대해서는 ES2015의 이전 버전을 참조하세요.</p> - -<h2 id="Browser_compatibility">Browser compatibility</h2> - -<p>{{Compat("javascript.operators.array_comprehensions")}}</p> - -<h2 id="오래된_JS1.7JS1.8_comprehensions과의_차이점들">오래된 JS1.7/JS1.8 comprehensions과의 차이점들</h2> - -<div class="warning">Gecko에서 JS1.7 / JS1.8 comprehensions가 46 버전부터 제거되었습니다. ({{bug(1220564)}}).</div> - -<p><strong>이전에 사용된 문법입니다. (더 이상 사용되지 않음!):</strong></p> - -<pre class="brush: js example-bad">[X for (Y in Z)] -[X for each (Y in Z)] -[X for (Y of Z)] -</pre> - -<p>차이점:</p> - -<ul> - <li>ESNext comprehensions는 전체comprehension 대신 "for"노드마다 하나의 범위를 만듭니다. - <ul> - <li>Old: <code>[()=>x for (x of [0, 1, 2])][1]() // 2</code></li> - <li>New: <code>[for (x of [0, 1, 2]) ()=>x][1]() // 1, each iteration creates a fresh binding for x. </code></li> - </ul> - </li> - <li>ESNext comprehensions은 assignment expression대신 "for"로 시작합니다. - <ul> - <li>Old: <code>[i * 2 for (i of numbers)]</code></li> - <li>New: <code>[for (i of numbers) i * 2]</code></li> - </ul> - </li> - <li>ESNext comprehensions는 <code>if</code> 및 <code>for</code> 구성 요소를 여러 개 가질 수 있습니다.</li> - <li>ESNext comprehensions <code>{{jsxref("Statements/for...of", "for...of")}}</code>에서만 동작하고 <code>{{jsxref("Statements/for...in", "for...in")}}</code>에서는 동작하지 않습니다.</li> -</ul> - -<p>버그 업데이트에 대한 제안은 <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1220564#c42">Bug 1220564, comment 42</a>를 참조하세요.</p> - -<h2 id="더보기">더보기</h2> - -<ul> - <li>{{jsxref("Statements/for...of", "for...of")}}</li> - <li>{{jsxref("Operators/Generator_comprehensions", "Generator comprehensions", "" ,1)}}</li> -</ul> diff --git a/files/ko/web/javascript/reference/statements/for_each...in/index.html b/files/ko/web/javascript/reference/statements/for_each...in/index.html deleted file mode 100644 index 9fa9901aae..0000000000 --- a/files/ko/web/javascript/reference/statements/for_each...in/index.html +++ /dev/null @@ -1,85 +0,0 @@ ---- -title: for each...in -slug: Web/JavaScript/Reference/Statements/for_each...in -tags: - - Deprecated - - E4X - - JavaScript - - Obsolete - - Statement -translation_of: Archive/Web/JavaScript/for_each...in ---- -<div>{{jsSidebar("Statements")}}</div> - -<div class="warning"> -<p>The <code>for each...in</code> statement is deprecated as the part of ECMA-357 (<a href="/en-US/docs/Archive/Web/E4X" title="/en-US/docs/E4X">E4X</a>) standard. E4X support has been removed. Consider using <a href="/en-US/docs/Web/JavaScript/Reference/Statements/for...of">for...of</a> instead.<br> - <br> - <strong>Firefox now warns about the usage of <code>for each...in</code> and it no longer works starting with Firefox 57.<br> - Please see <a href="/en-US/docs/Web/JavaScript/Reference/Errors/For-each-in_loops_are_deprecated">Warning: JavaScript 1.6's for-each-in loops are deprecated</a> for migration help.</strong></p> -</div> - -<p><code><strong>for each...in</strong></code> 문은 객체의 모든 속성 값에 대해 지정된 변수를 반복합니다. 각각의 고유한 특성에 대해 지정된 명령문이 실행됩니다.</p> - -<h2 id="Syntax">Syntax</h2> - -<pre class="syntaxbox">for each (<em>variable</em> in <em>object</em>) { - <em>statement</em> -}</pre> - -<dl> - <dt><code>variable</code></dt> - <dd>var 키워드로 선택적으로 선언된 속성 값을 반복하는 변수입니다. 이 변수는 루프가 아니라 함수의 local이 됩니다.</dd> -</dl> - -<dl> - <dt><code>object</code></dt> - <dd>반복될 객체입니다.</dd> -</dl> - -<dl> - <dt><code>statement</code></dt> - <dd>각 속성에 대해 실행할 명령문입니다. 루프 내에서 여러 명령문을 실행하려면 블록 명령문 ({...})을 사용하여 해당 명령문을 그룹화하십시오.</dd> -</dl> - -<h2 id="Description">Description</h2> - -<p>일부 기본 제공 속성은 반복되지 않습니다. 여기에는 객체 기본 제공 메서드 전부가 포함됩니다.</p> - -<p>ex) String의 indexOf 메소드.</p> - -<p>그러나 사용자가 정의한 모든 속성은 반복됩니다.</p> - -<h2 id="Examples">Examples</h2> - -<h3 id="Using_for_each...in">Using <code>for each...in</code></h3> - -<p><strong>Warning:</strong> Never use a loop like this on arrays. Only use it on objects. See <a href="/en-US/docs/Web/JavaScript/Reference/Statements/for...in"><code>for...in</code></a> for more details.</p> - -<p>The following snippet iterates over an object's properties, calculating their sum:</p> - -<pre class="brush:js">var sum = 0; -var obj = {prop1: 5, prop2: 13, prop3: 8}; - -for each (var item in obj) { - sum += item; -} - -console.log(sum); // logs "26", which is 5+13+8</pre> - -<h2 id="Specifications">Specifications</h2> - -<p>Not part of a current ECMA-262 specification. Implemented in JavaScript 1.6 and deprecated.</p> - -<h2 id="Browser_compatibility">Browser compatibility</h2> - - - -<p>{{Compat("javascript.statements.for_each_in")}}</p> - -<h2 id="See_also">See also</h2> - -<ul> - <li><code><a href="/en-US/docs/Web/JavaScript/Reference/Statements/for...in">for...in</a></code> - a similar statement that iterates over the property <em>names</em>.</li> - <li><code><a href="/en-US/docs/Web/JavaScript/Reference/Statements/for...of">for...of</a></code> - a similar statement that iterates over the property <em>values</em> but can only be used for iteratable types, so not for generic objects</li> - <li><code><a href="/en-US/docs/JavaScript/Reference/Statements/for">for</a></code></li> -</ul> |