溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

JavaScript什么時(shí)候會(huì)對(duì)變量的數(shù)據(jù)類型進(jìn)行轉(zhuǎn)換

發(fā)布時(shí)間:2021-08-12 10:26:43 來(lái)源:億速云 閱讀:90 作者:小新 欄目:web開發(fā)

小編給大家分享一下JavaScript什么時(shí)候會(huì)對(duì)變量的數(shù)據(jù)類型進(jìn)行轉(zhuǎn)換,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

一般存在四種情況,JavaScript會(huì)對(duì)變量的數(shù)據(jù)類型進(jìn)行轉(zhuǎn)換。

目錄

* if中的條件會(huì)被自動(dòng)轉(zhuǎn)為Boolean類型
 * 會(huì)被轉(zhuǎn)為false的數(shù)據(jù)
 * 會(huì)被轉(zhuǎn)為true的數(shù)據(jù)
* 參與+運(yùn)算都會(huì)被隱式的轉(zhuǎn)為字符串
 * 會(huì)被轉(zhuǎn)為空字符串的數(shù)據(jù)
 * 會(huì)被轉(zhuǎn)為字符串的數(shù)據(jù)
 * 會(huì)被轉(zhuǎn)為數(shù)據(jù)類型標(biāo)記的數(shù)據(jù)
* 參與*運(yùn)算都會(huì)被隱式的轉(zhuǎn)為數(shù)字
 * 會(huì)被轉(zhuǎn)為0的數(shù)據(jù)
 * 會(huì)被轉(zhuǎn)為1的數(shù)據(jù)
 * 會(huì)被轉(zhuǎn)為NaN的數(shù)據(jù)
* == 運(yùn)算符
 * 為true的時(shí)候
 * 為false的時(shí)候

if中的條件會(huì)被自動(dòng)轉(zhuǎn)為Boolean類型

會(huì)被轉(zhuǎn)為false的數(shù)據(jù)

if(false) console.log(2333)
if('') console.log(2333)
if(null) console.log(2333)
if(undefined) console.log(2333)
if(NaN) console.log(2333)

會(huì)被轉(zhuǎn)為true的數(shù)據(jù)

if(true) console.log(2333) // 2333
if('test') console.log(2333) // 2333
if([]) console.log(2333) // 2333
if({}) console.log(2333) // 2333

參與+運(yùn)算都會(huì)被隱式的轉(zhuǎn)為字符串

會(huì)被轉(zhuǎn)為空字符串的數(shù)據(jù)

'str-' + '' // str-
'str-' + []

會(huì)被轉(zhuǎn)為字符串的數(shù)據(jù)

'str-' + '1' // "str-1"
'str-' + 1 // "str-1"
'str-' + false // "str-false"
'str-' + true // "str-true"
'str-' + null // "str-null"
'str-' + undefined // "str-undefined"
'str-' + NaN // "str-NaN"

會(huì)被轉(zhuǎn)為數(shù)據(jù)類型標(biāo)記的數(shù)據(jù)

'str-' + {} // "str-[object Object]"
'str-' + {a:1} // "str-[object Object]"

參與*運(yùn)算都會(huì)被隱式的轉(zhuǎn)為數(shù)字

會(huì)被轉(zhuǎn)為0的數(shù)據(jù)

2 * '' // 0
2 * [] // 0
2 * false // 0

會(huì)被轉(zhuǎn)為1的數(shù)據(jù)

2 * '1' // 2
2 * [1] // 2
2 * true // 2

會(huì)被轉(zhuǎn)為NaN的數(shù)據(jù)

2 * {} // NaN
2 * {a:1} // NaN

== 運(yùn)算符

為true的時(shí)候

0 == false // true
0 == '' // true
0 == '0' // true
0 == [] // true
0 == [0] // true

1 == true // true
1 == '1' // true
1 == [1] // true

[1] == true // true
[] == false // true

為false的時(shí)候

0 == {} // false
0 == null // false
0 == undefined // false
0 == NaN // false

1 == {} // false
1 == null // false
1 == undefined // false
1 == NaN // false

[] == [] // false
[1] == [1] // false
[1] == {} // false
[1] == {a:1} // false
[1] == false // false
[1] == null // false
[1] == undefined // false
[1] == NaN // false

{} == {} // false
{a:1} == {a:1} // false

注:空數(shù)組[],在+運(yùn)算符下是轉(zhuǎn)為空字符串'',在*運(yùn)算符下是轉(zhuǎn)為數(shù)字0。但在if語(yǔ)句中,則轉(zhuǎn)為true。

以上是“JavaScript什么時(shí)候會(huì)對(duì)變量的數(shù)據(jù)類型進(jìn)行轉(zhuǎn)換”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI