Code前端首页关于Code前端联系我们

在js中使用逗号黑客表达式

terry 2年前 (2023-09-09) 阅读数 149 #Javascript
文章标签 JavaScriptjs运算符
js中逗号hack表达式用法代码代码

js 中一个有趣但可能有用的事情与逗号运算符有关。

我们主要使用逗号来分隔对象或数组项中的属性。

不过,我从来没有注意到它在表达中的使用。

例如:

('a', 'b')

对两个表达式(在本例中为字符串)进行求值,返回最后一个元素,即最后一个逗号后面的表达式。在本例中它返回“b”。

可以将值分配给变量,如下所示:

const letter = ('a', 'b')
letter === 'b' //true

如果您只使用简单的值,这几乎没有意义。

但是,如果我们可以运行任何表达式(包括函数调用)而不是计算字符串“a”,那将非常实用。

考虑以下代码:

const doStart = () => {console.log(started)}
let started = false

const start = (
  started = true,
  doStart
)

现在 start 是对 doStart() 函数的引用,但是当您调用 start() 时,start 变量为 true:

start() // true

您甚至可以使用两个以上的表达方式:

const start = (
  started = true,
  stopped = false,
  doStart
)

这个“技巧”可以用来装饰一个你无法控制的函数,但为了简单起见,最好创建一个新函数。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

上一篇:js chaincall 下一篇:js重置表单

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门