本文照搬了 [docschina](https://www.docschina.org/) ECMAScirpt 2018 的译文。 另外,掘金没有 'ECMAScript + 年份' 的分类。
This section contains a non-normative overview of the ECMAScript language.
本节包含 ECMAScript 语言非规范性的概述。
ECMAScript is an object-oriented programming language for performing computations and manipulating computational objects within a host environment.
ECMAScript 是一种用于在宿主环境中执行计算和操纵可计算对象的面向对象编程语言。
ECMAScript as defined here is not intended to be computationally self-sufficient; indeed, there are no provisions in this specification for input of external data or output of computed results.
此处定义的 ECMAScript 并非旨在实现计算上的自给自足; 实际上,该规范中没有规定外部数据的输入或计算结果的输出。
Instead, it is expected that the computational environment of an ECMAScript program will provide not only the objects and other facilities described in this specification but also certain environment-specific objects, whose description and behaviour are beyond the scope of this specification except to indicate that they may provide certain properties that can be accessed and certain functions that can be called from an ECMAScript program.
相反,我们期望 ECMAScript 程序的计算环境不仅会提供本规范中描述的对象和功能,而且还包括某些特定的环境对象,本规范除了说明这些对象应该提供可被 ECMAScript 程序访问的某些属性,调用的某些方法外,关于它的其他描述和行为不在本规范涉及的范围。
ECMAScript was originally designed to be used as a scripting language, but has become widely used as a general-purpose programming language.
ECMAScript 最初被设计为一门脚本语言,但是现在已经作为一门通用的编程语言被广泛应用。
A scripting language is a programming language that is used to manipulate, customize, and automate the facilities of an existing system.
脚本语言是指一种用于操作,定制,自动化现有系统能力的编程语言。
In such systems, useful functionality is already available through a user interface, and the scripting language is a mechanism for exposing that functionality to program control.
在这样的系统中,通过用户界面已经可以使用有用的功能,而脚本语言是将这些功能暴露给程序控制的机制。
In this way, the existing system is said to provide a host environment of objects and facilities, which completes the capabilities of the scripting language.
通过这种方式,现有的系统被称为提供对象和能力的宿主环境,从而完成了脚本语言的功能。
A scripting language is intended for use by both professional and non-professional programmers.
脚本语言是供专业和非专业程序员使用的。
ECMAScript was originally designed to be a Web scripting language, providing a mechanism to enliven Web pages in browsers and to perform server computation as part of a Web-based client-server architecture.
ECMAScript 最初被设计为 Web 脚本语言,提供了一种让网页更加富有生机的机制,并能够进行部分基于Web B/S架构的服务器端计算。
ECMAScript is now used to provide core scripting capabilities for a variety of host environments.
ECMAScript 现在被用于在多种宿主中提供核心脚本能力。
Therefore the core language is specified in this document apart from any particular host environment.
因此该文档描述的是除特定宿主环境外的语言核心。
ECMAScript usage has moved beyond simple scripting and it is now used for the full spectrum of programming tasks in many different environments and scales.
ECMAScript 用法已经远超出了简单脚本,现在被用于很多不同的环境和规模的全方位编程任务。
As the usage of ECMAScript has expanded, so have the features and facilities it provides.
随着 ECMAScript 使用范围的扩大使,其功能和能力也得到了扩展。
ECMAScript is now a fully featured general-purpose programming language.
ECMAScript 现在成为了一个功能齐全的通用编程语言。
Some of the facilities of ECMAScript are similar to those used in other programming languages; in particular C, Java™, Self, and Scheme as described in:
ISO/IEC 9899:1996, Programming Languages — C.
Gosling, James, Bill Joy and Guy Steele. The Java™ Language Specification. Addison Wesley Publishing Co., 1996.
Ungar, David, and Smith, Randall B. Self: The Power of Simplicity. OOPSLA '87 Conference Proceedings, pp. 227-241, Orlando, FL, October 1987.
IEEE Standard for the Scheme Programming Language. IEEE Std 1178-1990.
ECMAScript 的一些能力类似于其他编程语言中,特别是 C, Java™, Self, 如以及下所述的 Scheme:
ISO/IEC 9899:1996, Programming Languages — C.
Gosling, James, Bill Joy and Guy Steele. The Java™ Language Specification. Addison Wesley Publishing Co., 1996.
Ungar, David, and Smith, Randall B. Self: The Power of Simplicity. OOPSLA '87 Conference Proceedings, pp. 227-241, Orlando, FL, October 1987.
IEEE Standard for the Scheme Programming Language. IEEE Std 1178-1990.