我一直在研究 ES6,假设切换到 EcmaScript 2017 会很容易。
在经历的过程中,我对这段代码感到困惑
function f (x, y = 7, z = 42) {
return x + y + z
}
f(1) === 50
哪个具有 ES5 等效项
function f (x, y, z) {
if (y === undefined)
y = 7;
if (z === undefined)
z = 42;
return x + y + z;
};
f(1) === 50;
我确实从中了解了默认参数。
但是这f(1)===50
两个代码的含义是什么?它有什么用?
这是另一个例子
function f (x, y, ...a) {
return (x + y) * a.length
}
f(1, 2, "hello", true, 7) === 9
是什么f(1, 2, "hello", true, 7) === 9
意思?
我了解,===
为了比较运算符的 LHS 和 RHS,包括两者的类型,而不仅仅是值。
但是为什么它被这样使用?
请解释一下它的用法。
这是我得到这个的链接。http://es6-features.org/#RestParameter