术语表

(按单词首字母排序)

  • ActionScript n. 由 Adobe Flash 所使用的 ECMAScript 方言。
  • attribute n. 1. 标记,在 ECMAScript 规范中,一种对属性的可配置特质。2. 属性,HTML 开放标签中的行为修饰符。
  • AWK n. 一种领域特定的文本处理语言 [Aho et al. 1988],最早为 Unix 而设计。
  • binding n. 绑定,一种将名称映射到变量或常量值的关联。
  • breaking-change n. 破坏性变更,一种对编程语言或平台的变更,这种变更会导致现有的程序无法运行或发生故障。
  • browser wars n. 浏览器大战,一段浏览器厂商们为争夺市场主导权而进行激烈竞争的历史时期。
  • Chrome n. 一款由 Google 开发并分发的浏览器。
  • Chromium n. Chrome 浏览器的开源核心。
  • class n. 类,指一个编程语言概念。对于一组对象,可以基于这种机制定义出它们所共享的通用接口和实现。
  • classical inheritance n. 类式继承,一种继承机制。它通过链式的类定义,使对象获取其状态与行为。
  • CoffeeScript n. 一种编译到 JavaScript 的编程语言,由 Jeremy Ashkenas 所创建。
  • CommonJS n. 一个由 Kevin Dangoor 发起的项目,其目标是在非浏览器环境下开发 JavaScript 技术。
  • compiler n. 编译器,一种(在典型情况下)将程序翻译到机器语言,以便供处理器直接执行的引擎。
  • constructor n. 参见 constructor function
  • constructor function n. 构造器函数,一种会分配并初始化对象的 JavaScript 函数,可能用 new 运算符触发。
  • cyclic garbage collection n. 循环垃圾回收,一种内存管理流程,可以回收为孤立的循环引用结构所分配的内存空间。
  • Dart n. 一门基于类的面向对象语言。它由 Google 开发,其初始设计目标是在 Web 浏览器中取代 JavaScript。
  • declarative adj. 声明式,表示一种以「对所需结果特质进行描述」为基础的计算方式。
  • delegation n. 委托,一种使对象从其他对象中获取部分状态和行为(而非从类定义中获取)的机制。
  • discriminated union n. 差异联合体,一种带有多种可选内部结构的数据记录,其实际结构由显式的 tag 标签值确定。
  • destructuring n. 解构,用类似数组或对象字面量的语法,来引用数组或对象的某些属性。
  • desugar v. 去糖化,将一种编程语言中的语句或操作,分解为更为基础的语句或操作。
  • DevDiv n. 微软的开发者工具部门,即 Developer Tools Division。
  • dynamic language n. 动态语言,一种在程序执行前仅需进行少量分析(或不进行分析)的编程语言。动态语言中,多数强制性的错误检查在程序执行时发生,并且其典型程序也可能在执行时被构建和修改。参见 static language
  • dynamically typed adj. 动态类型,表示一类编程语言,其中与数据类型安全相关的约束检查,主要在程序运行时实行。
  • es-discuss n. 用于讨论 ECMAScript 演化的公开邮件论坛。
  • ECMA-262 n. ECMAScript 的语言规范。
  • ECMA-402 n. ECMAScript 的国际化 API 规范。
  • engine n. 引擎,指代某种用于执行程序的结构。
  • es4-discuss n. es-discuss 邮件论坛的初始名称。
  • ES.next n. 有时在 TC39 内部用于指代下一个 ECMA-262 版本。
  • exotic object n. 异质对象,一种 JavaScript 对象。对于所有对象都必须支持的基本内部方法,它缺少其中一种或多种方法所对应的默认行为。参见 ordinary object
  • expando property n. 在对象创建后添加到其上的属性。
  • factory function n. 工厂函数,一种返回新对象的函数。
  • Firefox n. 一款由 Mozilla 开发并分发的浏览器。
  • first-class adj. 一等公民,表示一类可用作数据值的编程语言运行时实体。例如,这种实体可以被赋值给变量、作为函数参数传递、从函数中返回,或存储在数据结构中。
  • Flash n. Adobe 用于支持富互联网应用和其他用途的多媒体软件平台。
  • free variable n. 自由变量,一种存在对其的引用,但未于本地作用域中定义的绑定。
  • function n. 函数,指一个子程序,或一个程序中可参数化的子部分。
  • hackathon n. 一种将程序员们聚集在一起,在几天时间内合作完成一个项目的活动。
  • Harmony n. 在放弃新版 ES4 后,TC39 用于指代后续 ECMA-262 开发的项目代号。
  • host object n. 宿主对象,由 JavaScript 引擎提供的一种对象或对象的类,可以用于访问宿主应用或平台上的设施。
  • imperative adj. 命令式,表示一种以「对所需结果相应执行步骤序列进行描述」为基础的计算方式。
  • inherit v. 继承,指在面向对象语言中间接地获得特质。
  • inheritance n. 继承,指在面向对象语言中,令对象继承某些(或全部)数据和行为的机制。
  • inherited property n. 继承属性,一种 JavaScript 对象中从原型继承而来的属性。
  • internal method n. 内部方法,一种语言之外的机制,用于定义对象的部分语义。
  • internal property n. 内部属性,对象的一部分,存储了用于定义对象部分语义的状态,由内部方法所使用。
  • interpreter n. 解释器,一种会遍历程序的某种表示,并执行中途所遇操作的引擎。
  • internationalization n. 国际化,一种使程序能处理多种人类语言、脚本与书写约定的流程。
  • Internet Explorer n. 一款由微软开发并分发的浏览器。
  • Java n. 一门基于类的面向对象语言,由 Sun Microsystems 开发。
  • JavaScript engine n. JavaScript 语言的实现。
  • JScript n. 一门由微软实现的 JavaScript 方言。
  • lambda expression n. lambda 表达式,一种不绑定到特定标示符上的函数,尤其指定义了自身所需参数和执行(或求值)步骤的表达式。它源于 lambda 演算和 Lisp。
  • leaky abstraction n. 抽象泄漏,指意外地暴露了抽象中所应隐藏或私有的细节。
  • mashup n. 一种网页,它会将来自于不同独立运营服务器上的 JavaScript 代码和内容,动态地组合起来。
  • membrane n. 隔离层,一种在对象能力系统中使用的机制,能在安全上下文之间共享对象并防止篡改。
  • metaobject protocol n. 元对象协议,一种在面向对象语言中明确指定的接口,用于定义和获取对象基础性的语言层面行为。
  • method n. 方法,一种作为对象组成部分的函数。
  • Netscape Navigator n. 一款由 Netscape Communications 研发并发布的浏览器。
  • Mocha n. JavaScript 语言前身的代号,同时也是 Netscape 最早的 JavaScript 引擎名称。
  • Mosaic n. 一款由 Marc Andreessen 和 Eric Bina 在 NCSA 开发的浏览器。
  • Node.js n. 一款基于 JavaScript 的服务端平台,最早在 2009 年由 Ryan Dahl 开发。
  • nominal type system n. 名义化类型系统,其中的每个类型定义都会引入唯一的数据类型。在一些面向对象语言中,类定义即被当作名义化的类型定义。
  • non-normative adj. 非规范的,表示在标准文件中未定义具体要求的部分。
  • no-op n. 空操作,一种不做任何事的操作。
  • normative adj. 规范的,表示在标准文件中定义了具体要求的部分。
  • object n. 对象,一种将数据与行为组合为一等公民级复合实体的计算装置。定义和操作对象的机制,在不同的编程语言中各不相同。
  • Opera n. 一款由 Opera Software 开发并分发的浏览器。
  • own property n. 自有属性,在 JavaScript 对象中作为内置部分(而非继承而来)的属性。
  • ordinary object n. 标准对象,一种 JavaScript 对象。对于所有对象都必须支持的基本内部方法,它具备这些方法所对应的默认行为。参见 exotic object
  • profile n. 模式,一组为特定设备、平台或应用而裁剪出的能力集。
  • polyfill n. 一种库,提供原应在浏览器中可用但却缺失的 API。
  • proper tail call n. 消栈的尾调用,一种从不返回控制权到调用者函数的尾调用。
  • property n. 属性,指 JavaScript 对象的组成部分。
  • property key n. 属性键,用于标识对象中某个特定属性的字符串或符号(symbol)。
  • prototype n. 原型,一种可为其他对象提供待继承状态与行为的对象。
  • prototypal inheritance n. 原型继承,一种继承机制。它通过链式的原型,使对象获取其部分或全部的状态与行为。
  • Safari n. 一款由苹果开发并分发的浏览器。
  • sandbox n. 沙盒,一种将程序(或程序的一部分)隔离运行的机制。它可令程序不能从宿主环境或其他程序直接获取数据,或与它们进行交互。
  • Secure ECMAScript n. 安全 ECMAScript,一门 ECMAScript 方言,移除了可能被安全漏洞所利用的特性。
  • self-hosting n. 自托管,使用同一种编程语言编写的代码,来部分实现该语言的引擎。
  • shadow v. 遮盖,指覆盖(但不重新定义)某种被继承的特质。
  • Silverlight n. 一款微软的富互联网应用平台。
  • scope n. 作用域,一段程序中的区域,在其中可以引用某个变量(或任何已声明的绑定)。
  • scope contour n. 作用域轮廓,在一组嵌套的作用域内,对单个作用域的表示。
  • scripting language n. 脚本语言,一种大体上较为简单的编程语言,用于编排计算系统与应用中的操作,或者编排在其他语言中定义出的计算抽象。
  • SpiderMonkey n. 一款 JavaScript 引擎,它被 1996 年后所有的 Netscape 和 Mozilla 浏览器所使用。
  • static language n. 静态语言,一种在程序执行前需要进行部分或大量分析的语言。静态语言中,多数强制性的错误检查在程序执行前发生,并且其典型程序也不能在执行时被修改。参见 dynamic language
  • statically typed adj. 静态类型,表示一类编程语言,其中与数据类型安全相关的约束检查,主要在程序运行前实行。
  • tail call n. 尾调用,一种在方法中对方法或函数的调用,这种调用是该方法的最终动作。对此类调用的实现,可能(但不必)将控制权返回调用者方法。参见 proper tail call
  • transpiler n. 转译器,一种语言处理器,会将某种语言的程序编译到另一种语言。
  • type n. 类型,指某个种类的值,其中的元素具备共通的特质,如它们的表示与可用操作等。
  • type annotation n. 类型注解,一种用于为变量或其他绑定关联类型的语法形式。
  • URL n. 万维网网页的地址(统一资源定位符)。
  • value n. 值,一个由程序操作的信息单位。在类型化的编程语言中,值被分类为不同的类型。
  • V8 n. 一款由 Chrome 浏览器所使用的 JavaScript 引擎。
  • WebKit n. 一款由 Apple Safari 和其他一些浏览器所使用的开源浏览器内核。
  • Web 2.0 n. 一种 Web 应用风格,它关注用户原创内容(UGC),一般具备高度的可交互性,并使用 AJAX 技术构建。
  • Web Reality n. 由于万维网被现存网页与应用而使用,所导致的一种万维网的技术形态和特质。对 Web 基础设施的扩展,通常必须能允许现存的形态与特质保持不变。