JavaScript 参考
=============

JavaScript 参考提供了有关 JavaScript 语言的内容资料库。这里详细描述了整个语言。在编写 JavaScript 代码时，你经常会参考这些页面（因此，标题为“JavaScript 参考”）。

JavaScript 语言旨在用于更加广泛的环境，不论是浏览器、服务端脚本还是其他类似的环境。在大多数情况下，本参考与环境无关，且不针对 web 浏览器环境。

如果你对 JavaScript 不熟悉，请先阅读指南。一旦你牢牢地掌握了基础知识，就可以使用参考资料，来获取有关各个对象和语言结构的更加详细的知识。

内置对象
----

JavaScript 标准内置对象，以及它们的方法和属性。

### 值属性

* `Infinity`
* `NaN`
* `undefined`
* `globalThis`
### Function 属性

* `eval()`
* `isFinite()`
* `isNaN()`
* `parseFloat()`
* `parseInt()`
* `decodeURI()`
* `decodeURIComponent()`
* `encodeURI()`
* `encodeURIComponent()`
### 基本对象

* `Object`
* `Function`
* `Boolean`
* `Symbol`
### 错误对象

* `Error`
* `AggregateError`
* `EvalError`
* `InternalError`
* `RangeError`
* `ReferenceError`
* `SyntaxError`
* `TypeError`
* `URIError`
### 数字和日期

* `Number`
* `BigInt`
* `Math`
* `Date`
### 文本处理

* `String`
* `RegExp`
### 索引集合类

* `Array`
* `Int8Array`
* `Uint8Array`
* `Uint8ClampedArray`
* `Int16Array`
* `Uint16Array`
* `Int32Array`
* `Uint32Array`
* `Float32Array`
* `Float64Array`
* `BigInt64Array`
* `BigUint64Array` (en-US)
### Keyed collections

* `Map`
* `Set`
* `WeakMap`
* `WeakSet`
### 结构化数据

* `ArrayBuffer`
* `SharedArrayBuffer`
* `Atomics`
* `DataView`
* `JSON`
### 控制抽象化

* `Promise`
* `Generator`
* `GeneratorFunction`
* `AsyncFunction`
### 反射

* `Reflect`
* `Proxy`
### 国际化

* `Intl`
* `Intl.Collator`
* `Intl.DateTimeFormat`
* `Intl.DisplayNames`
* `Intl.ListFormat`
* `Intl.Locale`
* `Intl.NumberFormat`
* `Intl.PluralRules`
* `Intl.RelativeTimeFormat`
### WebAssembly

* `WebAssembly`
* `WebAssembly.Module`
* `WebAssembly.Instance`
* `WebAssembly.Memory`
* `WebAssembly.Table`
* `WebAssembly.CompileError`
* `WebAssembly.LinkError` (en-US)
* `WebAssembly.RuntimeError`
语句
--

`语句和声明`### 控制流

* `Block`
* `break`
* `continue`
* `Empty`
* `if...else`
* `switch`
* `throw`
* `try...catch`
### 声明

* `var`
* `let`
* `const`
### 函数和类

* `function`
* `function*`
* `async function`
* `return`
* `class`
### 迭代

* `do...while`
* `for`
* `for each...in`
* `for...in`
* `for...of`
* `for await...of`
* `while`
### 其他

* `debugger`
* `import`
* `label`
* `with`
表达式和运算符
-------

`表达式和运算符`.

### Primary expressions

* `this`
* `function`
* `class`
* `function*`
* `yield`
* `yield*`
* `async function`
* `await`
* `[]`
* `{}`
* `/ab+c/i`
* `( )`
* `null`
### Left-hand-side expressions

* Property accessors
* `new`
* `new.target`
* `super`
* `...obj`
### Increment & decrement

* `A++` (en-US)
* `A--` (en-US)
* `++A` (en-US)
* `--A` (en-US)
### 一元运算符

* `delete`
* `void`
* `typeof`
* `+` (en-US)
* `-` (en-US)
* `~` (en-US)
* `!` (en-US)
### 算术运算符

* `+` (en-US)
* `-` (en-US)
* `/` (en-US)
* `*` (en-US)
* `%` (en-US)
* `**` (en-US)
### 关系运算符

* `in`
* `instanceof`
* `<` (en-US)
* `>` (en-US)
* `<=` (en-US)
* `>=` (en-US)
### 相等运算符

* `==` (en-US)
* `!=` (en-US)
* `===` (en-US)
* `!==` (en-US)
### 位移运算符

* `<<` (en-US)
* `>>` (en-US)
* `>>>` (en-US)
### 位运算

* `&` (en-US)
* `|` (en-US)
* `^` (en-US)
### 逻辑运算

* `&&` (en-US)
* `||` (en-US)
### 条件运算符

* `(condition ? ifTrue : ifFalse)`
### 赋值操作符

* `=` (en-US)
* `*=` (en-US)
* `/=` (en-US)
* `%=` (en-US)
* `+=` (en-US)
* `-=` (en-US)
* `<<=` (en-US)
* `>>=` (en-US)
* `>>>=` (en-US)
* `&=` (en-US)
* `^=` (en-US)
* `|=` (en-US)
* `[a, b] = [1, 2]`
* `{a, b} = {a:1, b:2}`
函数
--

本章介绍如何使用 JavaScript 函数 来开发应用程序。

* `arguments`
* 箭头函数
* 默认参数
* 剩余参数
附加参考页面
------

* 词法文法
* 数据类型和数据结构
* 严格模式
* 过时的特性