在这个例子中:someVariable;代码有什么作用吗?从技术上讲,从像 V8 这样的 JS 引擎的角度来看,是否有一些与之相关的工作?我问是因为我想暂时抑制 TypeScript 发出的“声明了变量但从未读取其值”警告,我正在这样做:function xyz(arg) { arg; // ...}JavaScript 中有更好的“无操作”结构吗?
2 回答
GCT1015
TA贡献1827条经验 获得超4个赞
它所做的一件事是检查变量是否已定义,如果未定义,则会抛出错误。
如果您担心副作用,如果您碰巧在with语句中,它可以调用 getter 并运行代码,但这不太可能。如果有问题的变量名不是本地的并且恰好是一个 getter on window,它也可以运行代码,例如
Object.defineProperty(window, 'foo', { get() {
console.log('getting');
}});
console.log('start');
foo;
但这也是不太可能的。
如果您确定所引用的变量是作用域中的普通变量,则它不会做任何事情——它只是一个未使用的表达式。
添加回答
举报
0/150
提交
取消