JSLint字符串比较错误应为'==='而是看到'=='
JSLint string comparison error Expected '===' and instead saw '=='
我在JSLint 中使用此代码
var string = "Hello";
if (string == "Hello") {
string = "World";
}
我收到这个错误
Expected '===' and instead saw '=='.
if (string == "Hello") {
为什么JSLint抛出此错误?
来自==和=
==和!=运算符在进行比较之前进行类型强制。这太糟糕了因为它导致'''t''t'==0为true。此can掩码类型错误。JSLint无法可靠地确定是否正在使用==正确,因此最好不要使用==和!=并且总是使用越可靠操作员。
如果你只关心一个值是真是假,那么就用short表单。而不是
(foo!=0)
只要说
(foo)
而不是
(foo==0)
比如
(!foo)
有一个eqeq选项,允许使用==和!=。
如何告诉JSLint不要抛出此错误。
使用JSLint指令eqq
像这个
/*jslint eqeq: true*/
所以完整的代码看起来像
/*jslint eqeq: true*/
var string = "Hello";
if (string == "Hello") {
string = "World";
}
因为JSLint认为永远不应该使用==
(等式系统有点奇怪)。
我的建议是学习==
和===
是如何工作的,以及它们是如何比较的(查看规范)然后,你可以自己做出最好的决定,而不是简单地用标记语言结构,永远不要使用它。
相关文章:
- jslint-vim configuration
- 如何在JavaScript中将字符串转换为函数引用
- jQuery中是否内置了任何字符串格式化函数
- Javascript,有没有一种方法可以将数组写成没有逗号或空格的单个文本字符串
- ng打开空字符串
- 正则表达式在字符串中找到base64
- 如何将字符串值从php页面发送到java脚本页面
- 子字符串/正则表达式以获取字符串中保存的 SRC 值
- 字符串在将其传递给另一个活动Android JavaScript时读取Null
- 对id以某个字符串开头的元素进行计数
- Javascript逻辑运算符和字符串/数字
- 反向字符串比较
- 如何有效地将游戏数据存储在URL查询字符串中
- 可变大小的JavaScript字符串如何成为基元类型
- 将DOM节点值与字符串Javascript进行比较
- 如何在 Javascript 中将变量的值从字符串转换为整数
- 本地存储中的字符串到字节数组转换
- JSLint字符串比较错误应为'==='而是看到'=='
- jslint给出的是一个字符串,而看到的是{a}
- JSLint 批准的创建长字符串的方法是什么?