您好,登錄后才能下訂單哦!
小編給大家分享一下JavaScript什么時候會對變量的數據類型進行轉換,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
一般存在四種情況,JavaScript會對變量的數據類型進行轉換。
目錄
* if中的條件會被自動轉為Boolean類型 * 會被轉為false的數據 * 會被轉為true的數據 * 參與+運算都會被隱式的轉為字符串 * 會被轉為空字符串的數據 * 會被轉為字符串的數據 * 會被轉為數據類型標記的數據 * 參與*運算都會被隱式的轉為數字 * 會被轉為0的數據 * 會被轉為1的數據 * 會被轉為NaN的數據 * == 運算符 * 為true的時候 * 為false的時候
if中的條件會被自動轉為Boolean類型
會被轉為false的數據
if(false) console.log(2333) if('') console.log(2333) if(null) console.log(2333) if(undefined) console.log(2333) if(NaN) console.log(2333)
會被轉為true的數據
if(true) console.log(2333) // 2333 if('test') console.log(2333) // 2333 if([]) console.log(2333) // 2333 if({}) console.log(2333) // 2333
參與+運算都會被隱式的轉為字符串
會被轉為空字符串的數據
'str-' + '' // str- 'str-' + []
會被轉為字符串的數據
'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"
會被轉為數據類型標記的數據
'str-' + {} // "str-[object Object]" 'str-' + {a:1} // "str-[object Object]"
參與*運算都會被隱式的轉為數字
會被轉為0的數據
2 * '' // 0 2 * [] // 0 2 * false // 0
會被轉為1的數據
2 * '1' // 2 2 * [1] // 2 2 * true // 2
會被轉為NaN的數據
2 * {} // NaN 2 * {a:1} // NaN
== 運算符
為true的時候
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的時候
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
注:空數組[],在+運算符下是轉為空字符串'',在*運算符下是轉為數字0。但在if語句中,則轉為true。
以上是“JavaScript什么時候會對變量的數據類型進行轉換”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。