# 章序号/节序号/节/笔记序号
- Objective:解决什么问题
# 概念阐释
JavaScript是网页与移动开发中尤其重要的编程语言。JavaScript的语法来源于Java和C。
#### 历史由来
在90年代,网络大爆发初期,微软的IE浏览器与网景公司为了抢占市场份额,网景的Brendan Eich用10天的时间创建了一种轻量级脚本语言-Mocha(后更名为JavaScript)。
#### JS特点:
1. JavaScript 可以在 Web 开发的前端和后端中使用。
2. JavaScript 经过标准化,因此经常更新新版本。
3. JavaScript 与 HTML 和 CSS 集成容易。
4. JavaScript 允许网站具有交互性
5. JavaScript 提供了各种框架和库
6. JavaScript没有输入和输出的概念,它是一个需要有宿主环境运行的脚本(浏览器是一种宿主,Node.js的服务器环境是一种宿主)
#### JavaScript中的数据类型
- [`Number`](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Number)(数字)
- [`String`](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String)(字符串)
- [`Boolean`](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Boolean)(布尔)
- [`Symbol`](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Symbol)(符号)(ES2015 新增)
- [`Object`](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object)(对象)
- [`Function`](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Function)(函数,特殊的对象)
- [`Array`](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array)(数组)
- [`Date`](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Date)(日期)
- [`RegExp`](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/RegExp)(正则表达式)
- [`null`](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/null)(空)
- [`undefined`](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/undefined)(未定义)
还有一种内置的[`Error`](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Error)(错误)类型。
#### JavaScript作为后端
- 21世纪初,像Facebook和Google这样的大型平台开始在后端服务器逻辑中使用JavaScript来**处理和响应前端请求**。
- JS后端具有可扩展性,JavaScript可以与其他语言集成以与数据库进行通信。
- [[Node.js]],或称为Node,是最流行的服务器端JavaScript版本之一。Node已被用于编写NASA、eBay等大型平台。
- 由于JavaScript可以按照非顺序执行程序[[JavaScript 异步编程]],因此Node可以用于创建可扩展的[[Web app]]、消息平台和多人游戏。这也是为什么Google Cloud和Amazon Web Service在部分服务中依赖Node的原因。
- 除了在Web上,JavaScript在跨平台应用中也有很大的存在。我们使用一些流行的独立桌面应用程序,如Slack、GitHub、Skype和Tidal。这些应用程序是使用名为**Electron.js**的JavaScript框架开发的。Electron非常适合制作需要在不同设备上运行的桌面应用程序,无论操作系统如何。
#### 版本
- 1995年创建网页设计脚本语言
- 1996年制定标准,称为ECMA
- 1997年发布ECMA-262,第一版脚本语言叫做ECMAScript,缩写ES
- 2015年发布ES6,最新版本
- 使用`let`和`const`关键字宣称
- 箭头函数语法
- 创建类
- 默认参数
- 异步操作
- [[面向对象编程OOP]]
- [[🗃️ 卡片盒子/110 - 前端开发/Docusaurus/React]]等流行框架中使用
- 使用ES6语法实现模块

# 举例子
# 类比、比较与对比
# 问题
# 问题答案
# 备注(经验集/错误集)
- [Running JavaScript in the Browser Console]()
- [中级教程:重新介绍JavaScript-MDN](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Language_overview#%E8%87%AA%E5%AE%9A%E4%B9%89%E5%AF%B9%E8%B1%A1)
- [Introduction to Functional JavaScript](https://medium.com/functional-javascript/introduction-to-functional-javascript-45a9dca6c64a)