王晨旭的个人网站

语法

对于熟悉 C/C++ 、 Java 等编程语言的开发者, ECMAScript 的语法很容易掌握,因为 ECMAScript 借鉴了这些语言的语法。当然,对于未曾使用过这些编程语言甚至没有接触过编程的人来说,学习 ECMAScript 也是比较容易掌握的。

区分大小写

与 C/C++ 一样,ECMAScript的变量、函数名、运算符以及其他一切东西都是区分大小写的。

比如下面几个变量名是完全不同的:

  • test
  • Test
  • TEST
  • TesT

弱变量类型

与 C/C++ 等不同的是, ECMAScript 中的变量无特定类型,定义变量时只用 var 运算符,就可以将它初始化为任意值,而且后续可以随时改变变量所存数据的类型(尽量避免这样做)。

例子

var a = 1;
var b = "1";
var c = true;

var 与 let定义的变量,只是在作用域、是否会提升定义等方面不同,具体将会在后续的章节中介绍。

语句结束符

C/C++ 、 Java 等语言的语句必须以分号(;)结束,但是 ECMAScript 既可以以分号(;)结束,又可以以换行结束。但只有在当不将换行作为结束符时才会尝试以换行作为结束符。

所以,不推荐将换行作为结束符,否则可能出现意想不到的意外。例如:

    var a = 1 + 2
    -3 + 5

会被理解为一条语句:

    var a = 1 + 2 - 3 + 5;

而不是两句:

    var a = 1 + 2;
    -3 + 5;

注释

注释是在开发程序时,对程序功能等的说明,是写给未来的自己或者其他人看的,程序执行时,会将注释忽略掉。

ECMAScript 的注释与C/C++ 、 Java 等语言的格式一致,有两种类型:

  • 单行注释以双斜杠开头(//)
  • 多行注释以单斜杠和星号开头(/),以星号和单斜杠结尾(/)

例如:

//这是单行注释

/* 这是多行注释的第一行
这是多行注释的第二行
多行注释可以有无限多行的,
但是中间不能出现多行注释的结束负号
在多行注释结束符号后面的是正常的语句
这是多行注释的最后一行*/

/*当然也可以以多行注释的格式写一行注释*/

var a /*当然,多行注释也可以这样插在语句中间,但是单行注释无法做到*/ = 5;

var b = //除非一条语句写成多行,在某行后面插入单行注视
    5;

为了开发者间的交流,或者便于文档生成软件根据注释自动生成文档,一般每种语言都有自己的注释规范,我将会在后期补充ECMAScript的注释规范。

花括号表示代码块

从 C/C++ 中借鉴的另一个概念是代码块。

代码块表示一系列应该按顺序执行的语句,这些语句被封装在左括号({)和右括号(})之间。

例如:

if (a > b) {
    a = b;
    console.log(a);
}
《ECMAScript 基础教程》
  • 附录1 关键字与保留字一览表
  • 附录2 进制转换
  • 附录3 原生API手册
  • 附录4 ECMAScript 运行时错误一览表
  • 附录5 部分提案
    • 附录5.1 do 表达式
    • 附录5.2 throw 表达式
    • 附录5.3 链判断运算符
    • 附录5.4 管道运算符
    • 附录5.5 数值分隔符
    • 附录5.6 BigInt 数据类型
  • * 参考链接