请参阅 MDN 上有关表达式、运算符和语句的文档。
基本关键字和一般表达式
this关键词:
“this”关键字是如何工作的?
var x = function()vs.——function x() 函数声明语法
var functionName = function() {} vs function functionName() {}
(function(){…})() — IIFE(立即调用函数表达式)
什么目的?,怎么称呼?
为什么(function(){…})();有效但function(){…}();无效?
(function(){…})();对比(function(){…}());
较短的替代品:
!function(){…}();-函数前的感叹号有什么作用?
+function(){…}();-函数表达式前面的 JavaScript 加号
!function(){ }() vs (function(){ })() , !vs 前导分号
(function(window, undefined){…}(window));
someFunction()() — 返回其他函数的函数
函数调用后的两组括号
=> — 等号、大于:箭头函数表达式语法
JavaScript 中的“=>”(由等于和大于组成的箭头)是什么意思?
|> — 管道,大于:管道运算符
JavaScript 中的“|>”运算符有什么作用?
function*, yield, yield* — 星号function或yield: 生成器函数
JavaScript 中的“函数*”是什么?
JavaScript 中的 yield 关键字是什么?
生成器函数中的委托收益(收益星号,收益 *)
[], Array() — 方括号:数组表示法
声明 JavaScript 数组时,“Array()”和“[]”有什么区别?
什么是 javascript 中的数组文字表示法,什么时候应该使用它?
如果方括号出现在赋值 () 的左侧[a] = ...,或者在函数的参数内部,则它是解构赋值。
{key: value} — 花括号:对象字面量语法(不要与块混淆)
JavaScript 中的花括号是什么意思?
Javascript 对象字面量:{a, b, c} 到底是什么?
对象文字中属性名称周围的方括号是什么意思?
如果大括号出现在赋值 () 的左侧{ a } = ...或函数的参数内部,则它是解构赋值。
`…${…
}…
` — 反引号,带花括号的美元符号:模板文字
`…${…}…`节点文档中的这段代码是什么意思?
JavaScript 中反引号 (`) 的用法?
ES6 中函数后面的模板文字(反引号)的目的是什么?
/…/ — 斜杠:正则表达式文字
两个斜杠之间的javascript文本的含义
$ — 正则表达式中的美元符号替换模式:$$, $&, $`, $',$n
JavaScript replace() 方法美元符号
() — 括号:分组运算符
MDN:分组运算符
属性相关的表达式
obj.prop, obj[prop], obj["prop"] — 方括号或点:属性访问器
JavaScript 属性访问:点符号与括号?
?., ?.[], ?.() — 问号,点:可选链接运算符
参数后的问号
ES6/2015 中的空安全属性访问(和条件赋值)
JavaScript 中的可选链
javascript 中是否有空合并 (Elvis) 运算符或安全导航运算符?
JavaScript 中是否有“空值合并”运算符?
:: — 双冒号:绑定运算符
JavaScript 双冒号(绑定运算符)
new操作员
JavaScript 中的“new”关键字是什么?
什么是“new.target”?
...iter — 三个点:展开语法;休息参数
(...rest) => {} — 函数定义中的“...args”(三个点)是什么意思?
fn(...args)— “foo(…arg)”(函数调用中的三个点)是什么意思?
[...iter] — javascript es6 数组功能 […data, 0] “扩展运算符”
{...props} — Javascript 带有三个点 (...) 的属性,在这个对象解构中,“...rest”代表什么?
递增和递减
++, -- — 双加或减:前/后增量/减量运算符
++someVariable与someVariable++Javascript 中的对比
一元和二元(算术、逻辑、按位)运算符
delete操作员
Javascript中删除运算符的目的是什么?
void操作员
`void 0` 是什么意思?
+, - — 加号和减号:加法或连接,以及减法运算符;一元符号运算符
= +_ 在 JavaScript 中是什么意思,JavaScript中的单加运算符
一元加减运算符的重要用途是什么?
为什么 [1,2] + [3,4] = "1,23,4" 在 JavaScript 中?
为什么 JavaScript 以不同方式处理字符串和数字之间的加号和减号运算符?
|, &, ^, ~ — 单管道、& 符号、抑扬符、波浪号:按位 OR、AND、XOR 和 & NOT 运算符
这些 JavaScript 位运算符有什么作用?
如何: ~ 运算符?
Javascript中是否有&逻辑运算符
“|”是什么意思 (单管道)在 JavaScript 中做什么?
运算符 |= 在 JavaScript 中的作用是什么?
JavaScript 中的 ^(插入符号)符号有什么作用?
使用按位或 0 对数字求底,x|0 如何在 JavaScript 中对数字求底?
为什么~1等于-2?
~~(“双波浪号”)在 Javascript 中的作用是什么?
!!~(不是波浪号/bang bang 波浪号)如何改变“包含/包含”数组方法调用的结果?(也在这里和这里)
% — 百分号:余数运算符
% 在 JavaScript 中做了什么?
&&, ||, ! — 双与号、双管道、感叹号:逻辑运算符
JavaScript 中的逻辑运算符——你如何使用它们?
逻辑运算符 || 在 javascript 中,0 代表 Boolean false?
“var FOO = FOO || {}”(将变量或空对象分配给该变量)在Javascript中是什么意思?, JavaScript OR (||) 变量赋值解释, x = x || 的构造是什么 你的意思是?
赋值中的 Javascript AND 运算符
什么是“x && foo()”?(也在这里和这里)
是什么 !!JavaScript 中的(不是不是)运算符?
JavaScript 中的感叹号是什么?
?? — 双问号:nullish-coalescing operator
空值合并运算符 (??) 与 ECMAScript 中的逻辑 OR 运算符 (||) 有何不同?
javascript 中是否有空合并 (Elvis) 运算符或安全导航运算符?
JavaScript 中是否有“空值合并”运算符?
** — 双星:幂运算符(求幂)
x ** 2相当于Math.pow(x, 2)
双星号 ** 是有效的 JavaScript 运算符吗?
MDN 文档
等式运算符
==, === — 等号:等式运算符
在 JavaScript 比较中应该使用哪个等号运算符(== vs ===)?
JS 类型强制是如何工作的?
在 Javascript 中,
[] == ![] 计算结果为真
为什么“未定义等于假”返回假?
为什么 !new Boolean(false) 在 JavaScript 中等于 false?
Javascript 0 == '0'。解释这个例子
为什么 false == "false" 是假的?
!=, !== — 感叹号和等号:不等式运算符
!= 与 !==
JavaScript 中的 != 和 !== 运算符有什么区别?
位移运算符
<<, >>, >>> — 两个或三个尖括号:位移运算符
这些 JavaScript 位运算符有什么作用?
JavaScript中的双超过符号
什么是 JavaScript >>> 运算符以及如何使用它?
条件运算符
…?…
:… — 问号和冒号:条件(三元)运算符
JavaScript 中的问号和冒号
Javascript 三元运算符的运算符优先级
你如何使用?: JavaScript 中的(条件)运算符?
赋值运算符
= — 等号:赋值运算符
`=` 和 `==` 操作符和 `===` 有什么区别?(单、双、三等号)
%= — 百分比等于:余数赋值
与模运算符混淆
+= — 加等于:加法赋值运算符
+=(加等于)如何工作?
&&=, ||=, ??= — 双与号、竖线或问号,后跟等号:逻辑赋值
&&=、||= 和 ??= 的作用是什么?
如果 JavaScript 中为 null 或 undefined 则替换一个值
如果未定义则设置一个变量
JavaScript 中的 Ruby ||=(或等价物)?
原始提案
规格
解构
函数参数:从哪里可以获得有关 JavaScript 函数的对象参数语法的信息?
数组:javascript中的多重赋值?[a,b,c] = [1, 2, 3] 是什么意思?意思是?
对象/导入:分配左侧的 Javascript 对象括号表示法 ({ Navigation } =)
逗号运算符
, — 逗号运算符(不要与变量声明中使用的逗号混淆)
JavaScript 表达式中的逗号有什么作用?
逗号运算符返回参数列表中的第一个值而不是第二个值?
逗号运算符什么时候有用?
控制流
{…} — 花括号:块(不要与对象文字语法混淆)
没有函数或 json 的 JavaScript 花括号
声明
var, let, const - 声明变量
使用“let”和“var”有什么区别?
JavaScript中有常量吗?
什么是时间死区?
var a, b; — 变量声明中使用的逗号(不要与逗号运算符混淆):JavaScript 变量定义:逗号与分号
标签
label: — 冒号:标签
JavaScript 语法 foo: 是什么意思?
':'(冒号)在 JavaScript 中有什么作用?
其他
123n — n 在整数之后:BigInt
JavaScript中数字文字后面的字符'n'是什么意思?
# — 哈希(数字符号):私有方法或私有字段
#符号在 JavaScript中的作用是什么?
_(下划线)在数字文字中用作分隔符
Javascript数字分隔符?
是否有与使用下划线(例如 10_000 = 10000)的 Ruby 语法等效的 Javascript 来使更大的整数可读?