javascript - Azure 移动服务 - 服务器端脚本 - 使用 === 与零比较

标签 javascript windows-phone-8 azure-mobile-services

我刚刚开始玩 Azure 移动服务的东西。它非常酷,但是在尝试更改服务器端数据库脚本时我注意到了一些奇怪的事情。一件具体的事情是,在编写一个简单的语句时,例如:

if(结果.length == 0)

它警告我在与零比较时应该使用 === 而不是 ==。

有人知道这是为什么吗?

最佳答案

在松散类型语言中,使用 ===(严格相等运算符)而不是 ==(相等运算符)通常很有用,因为否则对象的类型将在相等检查期间被强制。

例如,"0" == 0 ,和"" == 0 ,和[] == 0 .

但是,这些 === 0 都不是.

所以如果 results恰好是一个属性为空的对象 length ,像这样:

var results = {
  length: ""
}

results.length == 0仍将评估为 true .

关于javascript - Azure 移动服务 - 服务器端脚本 - 使用 === 与零比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14037901/

相关文章:

javascript - 具有选择性 url 的 AngularJS http 拦截器

javascript - Backbone 和 TypeScript,一段不幸的婚姻 : Building a type-safe "get"?

javascript - JWPlayer - undefined 不是函数

c# - 在 windows phone 8.1 中,Windows phone 项目和 silverlight 项目有什么区别?

javascript - 我正在尝试使用 Node 和 hapi.js 连接到我的 SQL Server 数据库

internet-explorer - 谷歌放置自动完成在 Windows 移动 IE 浏览器中不起作用

sql-server - Azure 移动服务入门问题 - 数据库

sqlite - 无法加载 DLL 'sqlite3.dll' : The specified module could not be found in UWP Xamarin. 表单

c# - 绑定(bind) MobileServiceCollection 未在 UI (MVVM) 中更新

windows-phone-8 - WP8 使用 multipart/form-data 在服务器上上传图片,出现错误