[英]Javascript ternary operator usage
以下是有效的 JS 代碼嗎?
response.continueRequest = (response.continueRequest == undefined) ? false : response.continueRequest;
response 實際上是一個 AJAX 響應對象。
是的,這意味着
if (response.continueRequest == undefined){
response.continueRequest = false;
}else{
response.continueRequest = response.continueRequest;
}
是的,它是一個有效的 JavaScript 代碼。 也可以縮短:
response.continueRequest = response.continueRequest ? response.continueRequest : false;
JavaScript 中的類型強制將response.continueRequest
轉換為 boolean,如果為 true,則賦值為response.continueRequest
的實際值,否則賦值為false
。
這樣做更合乎邏輯,盡管您可以按照示例中的最初方式進行操作:
response.continueRequest = !response.continueRequest ? false : response.continueRequest;
但是,如果您確實需要這樣做,則此行提示您的代碼中的其他內容並沒有很好地解決。
編輯:
您可以在條件中使用response.continueRequest
:
if (response.continueRequest) {
// condition body
}
如果response.continueRequest
undefined
,則強制類型為false
,並且不會進入 if 子句。 我想,這樣的事情就是你的目標。
請記住, undefined
與未定義不同。 例子:
var something;
console.log(something); // undefined
console.log(nothing); // Uncaught ReferenceError: nothing is not defined
使用“===”運算符
response.continueRequest = (response.continueRequest === undefined) ? false : response.continueRequest;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.