gpt4 book ai didi

javascript - === 与函数调用的含义

转载 作者:数据小太阳 更新时间:2023-10-29 04:09:48 24 4
gpt4 key购买 nike

我一直在研究 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

最佳答案

这是一个严格的比较测试,函数 f(x,y,z) 在调用 x 参数值为 1 时是否返回值 50。当默认参数值为添加到 x 的值是 7 和 42。

这些函数调用和对比纯粹是为它们调用的函数提供使用示例和可能的测试示例。

代码

function f (x, y, ...a) {
return (x + y) * a.length
}
f(1, 2, "hello", true, 7) === 9

是扩展参数处理的示例。 ...a 变量的长度属性等于 3,因此测试确认在 xy 之后传递给函数的参数数量。

关于javascript - === 与函数调用的含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41393349/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com