一、JavaScript这个名字

JavaScript,倘若顾名思义,似乎就是Java语言的某种轻量级的脚本语言。而事实上,JavaScript这门语言的初衷也的确如此。

首先,与Java类似,JS也源于C或者C++,用 {}标记statement,而用;标记expression;

其次,JS的最初定位是成为能运行在Web上的轻量级Java语言,面向熟悉Java语言的用户;

最后,讨个好的口彩,1995年JS诞生之际,Java正红。

然而,另外一个事实却是,JS既不是Java也不是轻量级(如Python)一般的Script脚本语言。

另外,JavaScript是Oracle的注册商标,因此常常以简写的JS代替,或者在标准文件中代之以ECMAScript。

二、JavaScript立足于世界的 Specication

JavaScript的技术规范由TC39委员会全面掌舵(50~100人分别来自浏览器厂家,设备厂家等)。他们每两个月开会一次,讨论所有的Proposals进展。

提出的Proposals分为5个阶段,Stage0,Stage1,Stage2,Stage3,Stage4;并在Github上开源探讨。

得益于TC39技术委员会对标准的出色维护,JS只有一个版本。这一点与完全由社区驱动的Python的散兵游勇有着本质的区别。

虽然JS语言持续开疆拓土,从浏览器到服务器,到机器人,到灯光照明等等,但其规范主要针对于浏览器而言。

三、JavaScript的多副面孔

编程语言有三种Paradigm(范式)-- procedural, object-oriented (OO/classes), and functional (FP)。比如C语言是Procedural-Paradigm,而Java/C++则是OO-Paradigm,Scheme是FP-Paradigm。

JS颇具灵活性,是多范式的语言,因此得以博采众家之所长。

四、Inpterpreted 还是 Compiled?

最后我们需要厘清一点,JS到底是解释语言还是编译语言。乍一看,JS似乎是为“编译语言”所鄙视的“解释语言”。

意外之喜是JS是编译语言,因此就性能而言,有着无限光明的前途。