什么是 JS?
轻量的脚本语言 JS是一种轻量脚本语言,所谓轻量,表示它不具备开发操作系统级别应该的能力,但它是控制其他大型应用的脚本。
JS本身不提供与I/O相关的API,都要靠宿主环境提供,在浏览器中, js调用浏览器环境提供的 DOM API,在Node中,js调用fs等Node环境提供的API。
极具灵活性 JS并非纯粹的面向对象语言,它还支持函数式编程等范式,对任何一个问题,JS都能提供多种解决方案,JS极具灵活性。
语法精简 JS的核心语法 = 语法构造(操作符、控制解构) + 标准库(Array,Math) + 宿主环境API
宿主环境API:
- 在浏览器宿主环境下,那就是浏览器控制类(
localStorage)、DOM操作类 - 在Nodejs环境下,那就是文件操作API、系统API、网络API等等
广泛使用场景
浏览器平台化:随着HTML5的出现浏览器的功能越来越强大,WebGPU支撑的图形渲染、WebRTC支撑的音视频童话、实时数据传输,都需要JS作为调度脚本
Node:Node为JS提供了开发服务器项目的能力
数据库操作:数据库操作能力, NoSQL 的概念本身就是在 JSON (JavaScript Object Notation) 的基础上诞生的。
移动端开发: 传统的移动端中,安卓应用采用Java开发,iOS采用Swift开发。目前,像 Facebook 维护的 React Native 就是将JS编写的组件编译为原生组件,支撑移动应用。
跨平台应用:Electron、Taro、RN(React Native) 都是跨平台的开发框架,同一套代码,跳出浏览器,支撑在不同系统上的应用。
简单易学
- 不依赖复杂环境和IDE
- 核心语法简单
- 当然也一些设计缺陷,需要规避, Douglas Crockford 《JavaScript: The good parts》