JavaScript !=
和!==
运算符的区别
!=
运算符- 不等运算符(
!=
)是等号运算符的逻辑反义。它表示“不相等”,在相等运算符返回false的地方返回true,反之亦然。 - 和相等运算符一样,不等运算符会在比较时转换数据类型。
- 例如,
1 != '1'
会返回false,因为进行了数据类型转换,所以1和’1’被认为是相等的。
- 不等运算符(
!==
运算符- 严格不等运算符(
!==
)是严格等号运算符的逻辑反义。它表示“严格不相等”,在严格相等运算符返回false的地方返回true,反之亦然。 - 严格不等运算符不会转换数据类型。
- 例如,
1 !== '1'
会返回true,因为1是整数而’1’是一个字符,没有发生数据类型转换。
- 严格不等运算符(
示例:
<script>
function NotEqual(val) {
if (val != 1) {
return "Both are Not Equal i.e. condition is true";
} else {
return "Both are Equal i.e. condition is false";
}
}
function StrictlyNotEqual(val) {
if (val !== 1) {
return "Both are Not Equal i.e. condition is true";
} else {
return "Both are Equal i.e. condition is false";
}
}
//Passing integer
console.log(" 1 != 1 " + NotEqual(1));
console.log(" 1 !== 1 " + StrictlyNotEqual(1));
//Passing character
console.log(" '1' != 1 " + NotEqual('1'));
console.log(" '1' !== 1 " + StrictlyNotEqual('1'));
//Passing string
console.log(" \"1\" != 1 " + NotEqual("1"));
console.log(" \"1\" !== 1 " + StrictlyNotEqual("1"));
//Passing false value i.e. 0
console.log(" 0 != 1 " + NotEqual(0));
console.log(" 0 !== 1 " + StrictlyNotEqual(0));
</script>
输出: