JavaScript 导论

文章目录

    • ECMAScript 和 JavaScript 的关系
    • JavaScript 导论
    • 广泛的使用领域

原文来自阮一峰的博客

ECMAScript 和 JavaScript 的关系

ECMAScript 6.0(以下简称 ES6)是 JavaScript 语言的下一代标准,已经在 2015 年 6 月正式发布了。它的目标,是使得 JavaScript 语言可以用来编写复杂的大型应用程序,成为企业级开发语言。

ECMAScript 和 JavaScript 到底是什么关系?

要讲清楚这个问题,需要回顾历史:

  1. 1996 年 11 月,JavaScript 的创造者 Netscape 公司,决定将 JavaScript 提交给标准化组织 ECMA,希望这种语言能够成为国际标准
  2. 1997 年,ECMA 发布 262 号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言称为 ECMAScript,这个版本就是 1.0 版

该标准从一开始就是针对 JavaScript 语言制定的,但是之所以不叫 JavaScript,有两个原因。一是商标,Java 是 Sun 公司的商标,二是想体现这门语言的制定者是 ECMA。

总结,ECMAScript 是规格,JavaScript 是 ECMAScript 的一种实现(另外的 ECMAScript 方言还有 JScript 和 ActionScript),日常场合,这两个词是可以互换的。

JavaScript 导论

JavaScript 是一种嵌入式(embedded)语言。它本身提供的核心语法不算很多,只能用来做一些数学和逻辑运算。JavaScript 本身不提供任何与 I/O(输入/输出)相关的 API,都要靠宿主环境(host)提供,所以 JavaScript 只合适嵌入更大型的应用程序环境,去调用宿主环境提供的底层 API。

目前,已经嵌入 JavaScript 的宿主环境有多种,最常见的环境就是浏览器,另外还有服务器环境,也就是 Node 项目。

从语法角度看,JavaScript 语言是一种「对象模型」语言。各种宿主环境通过这个模型,描述自己的功能和操作接口,从而通过 JavaScript 控制这些功能。但是,JavaScript 并不是纯粹的「面向对象语言」,还支持其他编程范式(比如函数式编程)。

JavaScript 的核心语法部分相当精简,只包括两个部分:

  • 基本的语法构造(比如操作符、控制结构、语句)
  • 标准库(一系列具有各种功能的对象比如 Array、Date、Math 等)

除此之外,各种宿主环境提供额外的 API(即只能在该环境使用的接口),以便 JavaScript 调用。

以浏览器为例,它提供的额外 API 可以分成三大类:

  • 浏览器控制类:操作浏览器
  • DOM 类:操作网页的各种元素
  • Web 类:实现互联网的各种功能

如果宿主环境是服务器,则会提供各种操作系统的 API,比如文件操作 API、网络通信 API等等。这些都可以在 Node 环境中找到。

广泛的使用领域

近年来,JavaScript 的使用范围,慢慢超越了浏览器,正在向通用的系统语言发展。

  • 浏览器的平台化
  • Node
  • 数据库操作
  • 移动平台开发
  • 内嵌脚本语言
  • 跨平台的桌面应用程序

阮一峰 JavaScript 教程
阮一峰 ES6 教程

你可能感兴趣的:(javascript,开发语言,ecmascript)