new*_*wim 2 javascript nan assignment-operator node.js
NaN是可疑起源的残留实现之一,但在大多数情况下我得到它.但是,我今天将它输入到Node提示符中并且无法理解它...
NaN = !NaN
> true
Run Code Online (Sandbox Code Playgroud)
这只是简单地返回评估结果!NaN吗?这是有道理的,但我很惊讶尝试将NaN分配给另一个值时没有错误.
注意:这个问题是关于这个特定的语法结构; 有很多关于NaN和isNaN的问题,但我在google搜索后找不到答案.感谢Ori Drori 迄今为止的最佳答案.
console.log(NaN = !NaN);Run Code Online (Sandbox Code Playgroud)
您要分配true到NaN,而不是比较NaN来!NaN使用===或==,所以操作返回指定的值- > true.Javascript默认忽略此任务,因为它NaN是只读的.
console.log(NaN = true);
// NaN hasn't changed
console.log(NaN);Run Code Online (Sandbox Code Playgroud)
如果你要添加use strict你的代码,JS将抛出一个只读错误:
'use strict';
NaN = true;Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
305 次 |
| 最近记录: |