gpt4 book ai didi

javascript - 什么时候可以用!=代替!==?

转载 作者:行者123 更新时间:2023-11-28 11:55:44 27 4
gpt4 key购买 nike

考虑下面来自 this AngularJS tutorial 的代码片段:

app.factory('Auth',
function ($firebaseSimpleLogin, FIREBASE_URL, $rootScope) {
var ref = new Firebase(FIREBASE_URL);

var auth = $firebaseSimpleLogin(ref);

var Auth = {
register: function (user) {
return auth.$createUser(user.email, user.password);
},
signedIn: function () {
return auth.user !== null;
},
logout: function () {
auth.$logout();
}
};

$rootScope.signedIn = function () {
return Auth.signedIn();
};

return Auth;
});

我理解 != 和 !== 之间的区别是第一个通过引用进行比较,第二个通过值进行比较。既然这里的比较是 null,那么为什么开发人员选择使用 !== 而不是 !=?我的理解是否正确,两者都可以在这里工作?

最佳答案

==/!= 运算符仅比较变量的值,而不比较类型

===/!== 运算符比较变量的类型和值

一些例子:

var varA = 5; // int
var varB = '5'; // string
var varC = 5; // int

if(varA == varB) // true (only value compared)
if(varA === varB) // false: because varB is of type string and varA of type int

if(varA == varC) // true
if(varA === varC) // true: because varA and varC are of the same type and have the same value

关于javascript - 什么时候可以用!=代替!==?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23813908/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com