JavaScript Overview

  • Revision slug: JavaScript/Guide/JavaScript_Overview
  • Revision title: JavaScript Overview
  • Revision id: 323029
  • Created:
  • Creator: kim-hyung-rea
  • Is current revision? No
  • Comment

Revision Content

이 챕터는 자바스크립트를 소개하고 기본적인 컨셉을 논의합니다.

자바 스크립트란 무엇인가?

JavaScript는 크로스 플랫폼 객체 지향 스크립트 언어입니다. JavaScript는 작고 가벼운 언어입니다. 독립적인 언어보다 불편할 수 있지만, 웹 브라우저와 같은 다른 제품과 애플리케이션을 쉽게 통합 할 수 있도록 설계되어 있습니다.  JavaScript는 호스트 환경의 개체와 연결시키고 그것을 프로그램으로 제어 할 수 있습니다.

코어 JavaScript는 Array , Date , Math 같은 중요 내장 객체들과 연산자, 제어 구조, 문장 등 언어 요소의 핵심 집합으로 구성됩니다. 코어 JavaScript는 객체를 추가함으로써 다양한 용도로 확장 할 수 있습니다. 예를 들어:

  • 클라이언트 측 JavaScript 는 브라우저 (Navigator 또는 다른 웹 브라우저)와 그 Document Object Model (DOM)을 제어하는 개체를 추가함으로써 기본 언어를 확장하고 있습니다. 클라이언트 측 확장의 예로 응용 프로그램이 HTML 양식에 요소를 배치하고 마우스 클릭이나 폼에 입력, 페이지 탐색 등 사용자 이벤트에 반응 할 수 있게 됩니다.
  • 서버 측 JavaScript 는 서버에서 JavaScript의 실행과 관련된 개체를 추가함으로써 기본 언어를 확장할 수 있습니다. 예를 들어  관계형 데이터베이스와 통신하거나, 또 다른 응용프로그램이 호출하도록 하여 정보의 연속성을 실현하거나, 서버에서 파일 작업을 수행 

JavaScript의 LiveConnect 기능을 사용하면 Java와 JavaScript 코드간에 서로 통신 할 수 있습니다. JavaSctipt에서 Java의 객체의 인스턴스를 생성하고 해당 공용 메소드와 필드에 액세스 할 수 있습니다. Java에서 JavaScript 개체와 속성, 메서드에 액세스 할 수 있습니다.

JavaScript는 Netscape에 의해 만들어져 또한 JavaScript가 처음 사용 된 것은 Netscape 브라우저였습니다.

JavaScript 와 Java

JavaScript와 Java는 비슷한 부분도 있지만, 기본적으로 다릅니다. JavaScript 언어는 Java와 많은 공통점이 있지만, Java의 정적 타이핑이나 엄격한 타입 체크는 제공하지 않습니다. JavaScript는 대부분의 Java의 구문과 기본 제어 흐름 구성을 지원하고 있습니다.

Java가 선언에 의해 구축되는 클래스의 컴파일-타임 시스템인데 반해 JavaScript에서는 숫자, 불리언, 문자열을 나타내는 소수의 데이터 형을 기반으로 한 런타임 시스템 방식입니다. JavaScript는 일반적인 언어의 클래스 기반 개체 모델이 아닌 프로토 타입 기반의 객체 모델을 채용하고 있습니다. 프로토 타입 기반 모델은 동적 상속이 가능하게 되어 있습니다. 즉 상속되는 것은 개별 개체에 따라 다를 수 있습니다. JavaScript에서는 함수 선언을 반드시 필요로 하지 않습니다. 자바스크립트는 함수를 까다롭게 정의하지 않습니다. 함수는 객체의 속성이 될 수도 있고 느슨하게 형식화된 메소드로 호출 할 수도 있습니다.

JavaScript는 Java에 비해 매우 자유로운 형식의 언어입니다. 변수, 클래스, 메소드를 선언하지 않아도 됩니다. 메소드가 public 또는 private 또는 protected 또는 등 신경 쓸 필요 없이 인터페이스를 구현할 필요도 없습니다. 변수, 함수가 반환 형식은 명백하게 형식화 되어있는 것은 아닙니다.

Java는 빠른 실행과 형식 안전성을 추구 하여 설계된 클래스 기반 프로그래밍 언어입니다. 형식 안전성은 예를 들면, Java의 정수를 개체 참조로 캐스팅하거나 Java의 바이트 코드를 수정하여 개인 메모리에 액세스 할 수 없다는 것입니다. Java의 클래스 기반 모델은 프로그램은 유일하게 클래스와 메소드에서 이루어진다는 것을 의미합니다. Java의 클래스 상속과 강력한 타입 유효성은 일반적으로 밀접하게 결합 된 개체의 계층 구조를 필요로 합니다. 이러한 요구사항에 따라 Java 프로그래밍 JavaScript보다 더 복잡합니다.

반면 JavaScript는 HyperTalk 나 dBASE와 같은 더 작은 동적 타입 언어가 추구하는 방식을 계승하고 있습니다. 이러한 스크립트는 언어 구문이 간결하고, 특별한 고유 기능을 가지고 있고, 객체 생성의 제약이 적기 때문에 이런 프로그래밍 도구에 널리 사용되고 있습니다.

Table 1.1 JavaScript 와 Java 비교
JavaScript Java

객체 지향. 개체 타입간 차이가 없다. 상속은 프로토 타입 메커니즘을 통해 이루어 지며, 속성과 메소드는 개체에 동적으로 추가 할 수 있다.

클래스 기반. 개체는 클래스와 인스턴스로 나뉜다. 모든 상속은 클래스 계층을 통해 이루어진다. 클래스 또는 인스턴스에 속성과 메소드를 동적으로 추가 할 수 없다.

변수의 데이터 형식은 선언되지 않는다. (동적 타이핑)

변수의 데이터 형식 선언이 필수적이다. (정적 타이핑)

자동으로 하드 디스크에 쓸 수 없다.

자동으로 하드 디스크에 쓸 수 없다.

JavaScript와 Java의 차이에 대한 보다 자세한 정보는 객체 모델에 관한 자세한 내용을 참조하십시오.

JavaScript와 ECMAScript 사양

JavaScript는 Netscape에 의해 만들어졌으며, JavaScript가 처음 사용 된 것은 Netscape 브라우저였습니다. Netscape는 유럽의 정보 통신 시스템 분야의 표준화 단체  Ecma International (옛 ECMA - European Computer Manufacturers Association; 유럽 전자 계산기 공업회)에 코어 JavaScript 를 제출 하여 국제 프로그래밍 언어 표준으로 채택 되었습니다. 이 표준화 된 버전의 JavaScript는 ECMAScript라고 표준을 지원하는 모든 응용 프로그램에서 동일하게 작동합니다. 기업은 개방형 표준 언어를 사용함으로써 기업 자체의 JavaScript 구현을 개발 할 수 있습니다. ECMAScript 표준은 ECMA-262 사양으로 문서화되어 있습니다.

The ECMA-262 standard is also approved by the ISO (International Organization for Standardization) as ISO-16262. You can find a PDF version of ECMA-262 (outdated version) at the Mozilla website. You can also find the specification on the Ecma International website. The ECMAScript specification does not describe the Document Object Model (DOM), which is standardized by the World Wide Web Consortium (W3C). The DOM defines the way in which HTML document objects are exposed to your script.

ECMA-262 표준은 ISO (International Organization for Standardization; 국제 표준화기구)에서 ISO-16262으로도 승인 되었습니다. ECMA-262의 PDF 버전 이 Mozilla 웹 사이트에 있습니다. 또한 Ecma International 웹 사이트에 사양이 나와 있습니다. ECMAScript 명세는 Document Object Model (DOM)은 나와 있지 않습니다. 이것은 World Wide Web Consortium (W3C) 에 의해 표준화되어 있습니다. DOM은 HTML 문서 개체를 스크립트에서 처리 방법을 정의하고 있습니다.

JavaScript 버전과 ECMAScript 버전과의 관계

Netscape는 Ecma International과 밀접하게 연계하여 ECMAScript 사양 (ECMA-262)를 만들었습니다. 다음 표에서는 JavaScript 버전과 ECMAScript 버전과의 관계에 대해 설명합니다.

Table 1.2 자바스크립트 버전과 ECMAScript 에디션

자바스크립트 버전

ECMAScript 에디션과의 관계
JavaScript 1.1

ECMA-262 초판은 JavaScript 1.1에 근거한다.

JavaScript 1.2

JavaScript 1.2 릴리스에는 ECMA-262는 미완성이었다. JavaScript 1.2은 다음과 같은 이유에서 ECMA-262 초판과 완전히 호환되지 않는다.

  • Netscape는 ECMA-262는 검토되지 않은 추가 기능을 JavaScript 1.2에 탑재했다.
  • ECMA-262는 Unicode를 이용한 국제화 및 모든 플랫폼에서 동일한 동작 두 가지 새로운 기능을 추가했다. Date 객체 등 플랫폼에 의존하고 있고, 플랫폼 고유의 동작을 이용하는 JavaScript 1.2의 기능도 있었다.
JavaScript 1.3

JavaScript 1.3은 ECMA-262Edition 1.과 완전 호환 된다.

== 와 !=를 제외하고, JavaScript 1.2의 모든 기능을 그대로 유지하면서 JavaScript 1.2와 ECMA-262과의 불일치를 JavaScript 1.3에서 해소했다. 이것은 ECMA-262와 일치하도록 변경되었다.

JavaScript 1.4

JavaScript 1.4은 ECMA-262 Edition 1과 완전 호환 된다.

JavaScript 1.4가 릴리즈 될 때, ECMAScript Edition 3의 스펙은 은 미완성이었다.

JavaScript 1.5

JavaScript 1.5는 ECMA-262 Edition 3 과 완전히 호환 된다..

주의 : ECMA-262 2 판은 소규모 개정과 초판 사양의 버그 수정으로 구성되어 있습니다. Ecma International의 TC39 워킹 그룹이 현재 ECMAScript 제 4 판에 착수하고 있습니다. 이것은 JavaScript 릴리스 인 JavaScript 2.0을 지원하는 것입니다.

 JavaScript 레퍼런스는 어떤 언어 기능이 ECMAScript에 대응하고 있는지를 보여줍니다.

JavaScript will always include features that are not part of the ECMAScript Specification; JavaScript is compatible with ECMAScript, while providing additional features.

JavaScript는 ECMAScript 사양에 포함되지 않는 기능도 항상 탑재되어 있습니다. 즉, JavaScript는 ECMAScript와 완전히 호환되면서 추가적인 기능을 제공합니다.

JavaScript Documentation versus the ECMAScript Specification

The ECMAScript specification is a set of requirements for implementing ECMAScript; it is useful if you want to determine whether a JavaScript feature is supported in other ECMAScript implementations. If you plan to write JavaScript code that uses only features supported by ECMAScript, then you may need to review the ECMAScript specification.

The ECMAScript document is not intended to help script programmers; use the JavaScript documentation for information on writing scripts.

JavaScript and ECMAScript Terminology

The ECMAScript specification uses terminology and syntax that may be unfamiliar to a JavaScript programmer. Although the description of the language may differ in ECMAScript, the language itself remains the same. JavaScript supports all functionality outlined in the ECMAScript specification.

The JavaScript documentation describes aspects of the language that are appropriate for a JavaScript programmer. For example:

  • The Global Object is not discussed in the JavaScript documentation because you do not use it directly. The methods and properties of the Global Object, which you do use, are discussed in the JavaScript documentation but are called top-level functions and properties.
  • The no parameter (zero-argument) constructor with the Number and String objects is not discussed in the JavaScript documentation, because what is generated is of little use. A Number constructor without an argument returns +0, and a String constructor without an argument returns "" (an empty string).
{{ autoPreviousNext("JSGChapters") }}

Revision Source

<p>이 챕터는 자바스크립트를 소개하고 기본적인 컨셉을 논의합니다.</p>
<h2 id="What_is_JavaScript.3F" name="What_is_JavaScript.3F">자바 스크립트란 무엇인가?</h2>
<p>JavaScript는 크로스 플랫폼 객체 지향 스크립트 언어입니다. JavaScript는 작고 가벼운 언어입니다. 독립적인 언어보다 불편할 수 있지만, 웹 브라우저와 같은 다른 제품과 애플리케이션을 쉽게 통합 할 수 있도록 설계되어 있습니다. &nbsp;JavaScript는 호스트 환경의 개체와 연결시키고 그것을 프로그램으로 제어 할 수 있습니다.</p>
<p>코어 JavaScript는 Array , Date , Math 같은 중요 내장 객체들과 연산자, 제어 구조, 문장 등 언어 요소의 핵심 집합으로 구성됩니다. 코어 JavaScript는 객체를 추가함으로써 다양한 용도로 확장 할 수 있습니다. 예를 들어:</p>
<ul>
  <li>클라이언트 측 JavaScript 는 브라우저 (Navigator 또는 다른 웹 브라우저)와 그 Document Object Model (DOM)을 제어하는 개체를 추가함으로써 기본 언어를 확장하고 있습니다. 클라이언트 측 확장의 예로 응용 프로그램이 HTML 양식에 요소를 배치하고 마우스 클릭이나 폼에 입력, 페이지 탐색 등 사용자 이벤트에 반응 할 수 있게 됩니다.</li>
  <li>서버 측 JavaScript 는 서버에서 JavaScript의 실행과 관련된 개체를 추가함으로써 기본 언어를 확장할 수 있습니다. 예를 들어 &nbsp;관계형 데이터베이스와 통신하거나, 또 다른 응용프로그램이 호출하도록 하여 정보의 연속성을 실현하거나, 서버에서 파일 작업을 수행&nbsp;</li>
</ul>
<p>JavaScript의 LiveConnect 기능을 사용하면 Java와 JavaScript 코드간에 서로 통신 할 수 있습니다. JavaSctipt에서 Java의 객체의 인스턴스를 생성하고 해당 공용 메소드와 필드에 액세스 할 수 있습니다. Java에서 JavaScript 개체와 속성, 메서드에 액세스 할 수 있습니다.</p>
<p>JavaScript는 Netscape에 의해 만들어져 또한 JavaScript가 처음 사용 된 것은 Netscape 브라우저였습니다.</p>
<h2 id="JavaScript_and_Java" name="JavaScript_and_Java">JavaScript 와 Java</h2>
<p>JavaScript와 Java는 비슷한 부분도 있지만, 기본적으로 다릅니다. JavaScript 언어는 Java와 많은 공통점이 있지만, Java의 정적 타이핑이나 엄격한 타입 체크는 제공하지 않습니다. JavaScript는 대부분의 Java의 구문과 기본 제어 흐름 구성을 지원하고 있습니다.</p>
<p>Java가 선언에 의해 구축되는 클래스의 컴파일-타임 시스템인데 반해 JavaScript에서는 숫자, 불리언, 문자열을 나타내는 소수의 데이터 형을 기반으로 한 런타임 시스템 방식입니다. JavaScript는 일반적인 언어의 클래스 기반 개체 모델이 아닌 프로토 타입 기반의 객체 모델을 채용하고 있습니다. 프로토 타입 기반 모델은 동적 상속이 가능하게 되어 있습니다. 즉 상속되는 것은 개별 개체에 따라 다를 수 있습니다. JavaScript에서는 함수 선언을 반드시 필요로 하지 않습니다. 자바스크립트는 함수를 까다롭게 정의하지 않습니다. 함수는 객체의 속성이 될 수도 있고 느슨하게 형식화된 메소드로 호출 할 수도 있습니다.</p>
<p>JavaScript는 Java에 비해 매우 자유로운 형식의 언어입니다. 변수, 클래스, 메소드를 선언하지 않아도 됩니다. 메소드가 public 또는 private 또는 protected 또는 등 신경 쓸 필요 없이 인터페이스를 구현할 필요도 없습니다. 변수, 함수가 반환 형식은 명백하게 형식화 되어있는 것은 아닙니다.</p>
<p>Java는 빠른 실행과 형식 안전성을 추구 하여 설계된 클래스 기반 프로그래밍 언어입니다. 형식 안전성은 예를 들면, Java의 정수를 개체 참조로 캐스팅하거나 Java의 바이트 코드를 수정하여 개인 메모리에 액세스 할 수 없다는 것입니다. Java의 클래스 기반 모델은 프로그램은 유일하게 클래스와 메소드에서 이루어진다는 것을 의미합니다. Java의 클래스 상속과 강력한 타입 유효성은 일반적으로 밀접하게 결합 된 개체의 계층 구조를 필요로 합니다. 이러한 요구사항에 따라 Java 프로그래밍 JavaScript보다 더 복잡합니다.</p>
<p>반면 JavaScript는 HyperTalk 나 dBASE와 같은 더 작은 동적 타입 언어가 추구하는 방식을 계승하고 있습니다. 이러한 스크립트는 언어 구문이 간결하고, 특별한 고유 기능을 가지고 있고, 객체 생성의 제약이 적기 때문에 이런 프로그래밍 도구에 널리 사용되고 있습니다.</p>
<table class="standard-table">
  <caption style="text-align: left">
    Table 1.1 JavaScript 와 Java 비교</caption>
  <thead>
    <tr>
      <th scope="col">JavaScript</th>
      <th scope="col">Java</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <p>객체 지향. 개체 타입간 차이가 없다. 상속은 프로토 타입 메커니즘을 통해 이루어 지며, 속성과 메소드는 개체에 동적으로 추가 할 수 있다.</p>
      </td>
      <td>
        <p>클래스 기반. 개체는 클래스와 인스턴스로 나뉜다. 모든 상속은 클래스 계층을 통해 이루어진다. 클래스 또는 인스턴스에 속성과 메소드를 동적으로 추가 할 수 없다.</p>
      </td>
    </tr>
    <tr>
      <td>
        <p>변수의 데이터 형식은 선언되지 않는다. (동적 타이핑)</p>
      </td>
      <td>
        <p>변수의 데이터 형식 선언이 필수적이다. (정적 타이핑)</p>
      </td>
    </tr>
    <tr>
      <td>
        <p>자동으로 하드 디스크에 쓸 수 없다.</p>
      </td>
      <td>
        <p>자동으로 하드 디스크에 쓸 수 없다.</p>
      </td>
    </tr>
  </tbody>
</table>
<p>JavaScript와 Java의 차이에 대한 보다 자세한 정보는&nbsp;<a href="/en-US/docs/JavaScript/Guide/Details_of_the_Object_Model" title="JavaScript/Guide/Details of the Object Model">객체 모델에 관한 자세한 내용</a>을 참조하십시오.</p>
<h2 id="JavaScript_and_the_ECMAScript_Specification" name="JavaScript_and_the_ECMAScript_Specification">JavaScript와 ECMAScript 사양</h2>
<p>JavaScript는 Netscape에 의해 만들어졌으며, JavaScript가 처음 사용 된 것은 Netscape 브라우저였습니다. Netscape는 유럽의 정보 통신 시스템 분야의 표준화 단체&nbsp;&nbsp;<a class="external" href="http://www.ecma-international.org/">Ecma International</a>&nbsp;(옛 ECMA - European Computer Manufacturers Association; 유럽 전자 계산기 공업회)에 코어 JavaScript 를 제출 하여 국제 프로그래밍 언어 표준으로 채택 되었습니다. 이 표준화 된 버전의 JavaScript는 ECMAScript라고 표준을 지원하는 모든 응용 프로그램에서 동일하게 작동합니다. 기업은 개방형 표준 언어를 사용함으로써 기업 자체의 JavaScript 구현을 개발 할 수 있습니다. ECMAScript 표준은 ECMA-262 사양으로 문서화되어 있습니다.</p>
<p>The ECMA-262 standard is also approved by the <a class="external" href="http://www.iso.ch/">ISO</a> (International Organization for Standardization) as ISO-16262. You can find a <a class="external" href="http://www-archive.mozilla.org/js/language/E262-3.pdf" title="http://www-archive.mozilla.org/js/language/E262-3.pdf">PDF version of ECMA-262</a> (outdated version) at the Mozilla website. You can also find the specification on <a class="external" href="http://www.ecma-international.org/publications/standards/Ecma-262.htm">the Ecma International website</a>. The ECMAScript specification does not describe the Document Object Model (DOM), which is standardized by the <a class="external" href="http://www.w3.org/">World Wide Web Consortium (W3C)</a>. The DOM defines the way in which HTML document objects are exposed to your script.</p>
<p>ECMA-262 표준은 ISO (International Organization for Standardization; 국제 표준화기구)에서 ISO-16262으로도 승인 되었습니다. <a href="http://www-archive.mozilla.org/js/language/E262-3.pdf" title="http://www-archive.mozilla.org/js/language/E262-3.pdf">ECMA-262의 PDF 버전</a> 이 Mozilla 웹 사이트에 있습니다. 또한 <a href="http://www.ecma-international.org/publications/standards/Ecma-262.htm" title="http://www.ecma-international.org/publications/standards/Ecma-262.htm">Ecma International 웹 사이트</a>에 사양이 나와 있습니다. ECMAScript 명세는 Document Object Model (DOM)은 나와 있지 않습니다. 이것은 <a href="http://www.w3.org/" title="http://www.w3.org/">World Wide Web Consortium (W3C) </a>에 의해 표준화되어 있습니다. DOM은 HTML 문서 개체를 스크립트에서 처리 방법을 정의하고 있습니다.</p>
<h3 id="Relationship_between_JavaScript_Versions_and_ECMAScript_Editions" name="Relationship_between_JavaScript_Versions_and_ECMAScript_Editions">JavaScript 버전과 ECMAScript 버전과의 관계</h3>
<p>Netscape는 Ecma International과 밀접하게 연계하여 ECMAScript 사양 (ECMA-262)를 만들었습니다. 다음 표에서는 JavaScript 버전과 ECMAScript 버전과의 관계에 대해 설명합니다.</p>
<table class="standard-table">
  <caption style="text-align: left">
    Table 1.2 자바스크립트 버전과 ECMAScript 에디션</caption>
  <thead>
    <tr>
      <th scope="row">
        <p>자바스크립트 버전</p>
      </th>
      <th scope="col">ECMAScript 에디션과의 관계</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>JavaScript 1.1</td>
      <td>
        <p>ECMA-262 초판은 JavaScript 1.1에 근거한다.</p>
      </td>
    </tr>
    <tr>
      <td>JavaScript 1.2</td>
      <td>
        <p>JavaScript 1.2 릴리스에는 ECMA-262는 미완성이었다. JavaScript 1.2은 다음과 같은 이유에서 ECMA-262 초판과 완전히 호환되지 않는다.</p>
        <ul>
          <li>Netscape는 ECMA-262는 검토되지 않은 추가 기능을 JavaScript 1.2에 탑재했다.</li>
          <li>ECMA-262는 Unicode를 이용한 국제화 및 모든 플랫폼에서 동일한 동작 두 가지 새로운 기능을 추가했다.&nbsp;<span style="font-family: 'Courier New', 'Andale Mono', monospace; line-height: normal; ">Date</span>&nbsp;객체 등 플랫폼에 의존하고 있고, 플랫폼 고유의 동작을 이용하는 JavaScript 1.2의 기능도 있었다.</li>
        </ul>
      </td>
    </tr>
    <tr>
      <td>JavaScript 1.3</td>
      <td>
        <p>JavaScript 1.3은 ECMA-262Edition 1.과 완전 호환 된다.</p>
        <p>== 와 !=를 제외하고, JavaScript 1.2의 모든 기능을 그대로 유지하면서 JavaScript 1.2와 ECMA-262과의 불일치를 JavaScript 1.3에서 해소했다. 이것은 ECMA-262와 일치하도록 변경되었다.</p>
      </td>
    </tr>
    <tr>
      <td>JavaScript 1.4</td>
      <td>
        <p>JavaScript 1.4은 ECMA-262&nbsp;Edition 1과&nbsp;완전 호환 된다.</p>
        <p>JavaScript 1.4가 릴리즈 될 때, ECMAScript Edition 3의 스펙은 은 미완성이었다.</p>
      </td>
    </tr>
    <tr>
      <td>JavaScript 1.5</td>
      <td>
        <p>JavaScript 1.5는 ECMA-262 Edition 3 과 완전히 호환 된다..</p>
      </td>
    </tr>
  </tbody>
</table>
<div class="note">
  <strong>주의</strong> : ECMA-262 2 판은 소규모 개정과 초판 사양의 버그 수정으로 구성되어 있습니다. Ecma International의 TC39 워킹 그룹이 현재 ECMAScript 제 4 판에 착수하고 있습니다. 이것은 JavaScript 릴리스 인 JavaScript 2.0을 지원하는 것입니다.</div>
<p>&nbsp;<a href="/en-US/docs/JavaScript/Reference" title="/en-US/docs/JavaScript/Reference">JavaScript 레퍼런스</a>는 어떤 언어 기능이 ECMAScript에 대응하고 있는지를 보여줍니다.</p>
<p>JavaScript will always include features that are not part of the ECMAScript Specification; JavaScript is compatible with ECMAScript, while providing additional features.</p>
<p>JavaScript는 ECMAScript 사양에 포함되지 않는 기능도 항상 탑재되어 있습니다. 즉, JavaScript는 ECMAScript와 완전히 호환되면서 추가적인&nbsp;기능을 제공합니다.</p>
<h3 id="JavaScript_Documentation_versus_the_ECMAScript_Specification" name="JavaScript_Documentation_versus_the_ECMAScript_Specification">JavaScript Documentation versus the ECMAScript Specification</h3>
<p>The ECMAScript specification is a set of requirements for implementing ECMAScript; it is useful if you want to determine whether a JavaScript feature is supported in other ECMAScript implementations. If you plan to write JavaScript code that uses only features supported by ECMAScript, then you may need to review the ECMAScript specification.</p>
<p>The ECMAScript document is not intended to help script programmers; use the JavaScript documentation for information on writing scripts.</p>
<h3 id="JavaScript_and_ECMAScript_Terminology" name="JavaScript_and_ECMAScript_Terminology">JavaScript and ECMAScript Terminology</h3>
<p>The ECMAScript specification uses terminology and syntax that may be unfamiliar to a JavaScript programmer. Although the description of the language may differ in ECMAScript, the language itself remains the same. JavaScript supports all functionality outlined in the ECMAScript specification.</p>
<p>The JavaScript documentation describes aspects of the language that are appropriate for a JavaScript programmer. For example:</p>
<ul>
  <li>The Global Object is not discussed in the JavaScript documentation because you do not use it directly. The methods and properties of the Global Object, which you do use, are discussed in the JavaScript documentation but are called top-level functions and properties.</li>
  <li>The no parameter (zero-argument) constructor with the <code>Number</code> and <code>String</code> objects is not discussed in the JavaScript documentation, because what is generated is of little use. A <code>Number</code> constructor without an argument returns +0, and a <code>String</code> constructor without an argument returns "" (an empty string).</li>
</ul>
<div>
  {{ autoPreviousNext("JSGChapters") }}</div>
Revert to this revision