起源
JavaScript作为Netscape Navigator浏览器的一部分首次出现在1996年。它最初的设计目标是改善网页的用户体验。作者:Brendan Eich。JavaScript刚刚诞生的时候叫做LiveScript。由于当时Java很流行,为了借助Java的势头,改名叫JavaScript。 为了取得技术优势,在Netscape推出JavaScript同时,微软推出了JScript,CEnvi推出ScriptEase,与JavaScript同样可在浏览器上运行。后面,NetScape将JavaScript交给ECMA组织,为了统一标准,ECMA将这门语言称为ECMAScript。
性质
JavaScript是一门高级语言,也是一门脚本语言,还是一门解释性语言。 由于JavaScript引擎是单线程,所以JavaScript代码的执行是单线程。同时,采用时间片轮转的方式执行JavaScript队列。
应用场景
- web开发:原生JavaScript、React、vue、Angular
- 移动端开发:ReactNative、Weex
- 小程序端开发:微信小程序、支付宝小程序、uniapp、taro
- 桌面应用开发:Electron
- 后端开发:express、koa、egg.js
缺陷
- 因为JavaScrpit本身没有对变量、函数参数等进行限制,这可能给我们的项目带来某种安全隐患。
应对方案
2014年,Facebook推出了flow;同年Microsoft也推出了TypeScript1.0版本。他们都致力于为JavaScript进行检查,而不是取代JavaScript。
备注
TypeScript只是在JavaScript上进行了扩展,并且最终TypeScript还是要转换成JavaScript代码才能真正运行。 如果将来JavaScript加入类型检查,那么TypeScript、flow都将被淘汰