JS-數(shù)據(jù)類型詳解

1.js中的數(shù)據(jù)類型一共有6種,分別是

數(shù)值(number):整數(shù)和小數(shù)(比如1和3.14)

字符串(string):文本(比如Hello World)。

布爾值(boolean):表示真?zhèn)蔚膬蓚€特殊值,即true(真)和false(假)

undefined:表示“未定義”或不存在,即由于目前沒有定義,所以此處暫時沒有任何值

null:表示空值,即此處的值為空。

對象(object):各種值組成的集合。

2.而這七種類型又可以再分為三種

原始類型:包含數(shù)值、字符串、布爾值這三種類型,即它們是最基本的數(shù)據(jù)類型,不能再細(xì)分了。

合成類型:對象因?yàn)橐粋€對象往往是多個原始類型的值的合成,可以看作是一個存放各種值的容器

兩個特殊值:undefined,null

3.再這里再提一次對象,作為最復(fù)雜的數(shù)據(jù)類型,對象又可以分為三種

狹義的對象(object)

數(shù)組(array)

函數(shù)(function)

4.那么我們在實(shí)際中應(yīng)該怎么確定一個數(shù)據(jù)的類型呢,共有三種方法

typeof運(yùn)算符

instanceof運(yùn)算符

Object.prototype.toString方法

這里我們著重說一下typeof運(yùn)算符

typeof 123,返回number

typeof '123' 返回string

typeof true 返回boolean

functionf(){}

typeof f 返回function(函數(shù))

typeof v(若v沒有定義,則返回undefined)

null 和對象(object)統(tǒng)統(tǒng)返回object

5.undefined和null有很多相像之處,那么它們不同的地方在哪里呢?

最大的不同就是null自動轉(zhuǎn)化為0

而undefined自動轉(zhuǎn)化為NAN

6.布爾值:布爾值代表“真”和“假”兩個狀態(tài)?!罢妗庇藐P(guān)鍵字true表示,“假”用關(guān)鍵字false表示。布爾值只有這兩個值。

下列運(yùn)算符會返回布爾值:

兩元邏輯運(yùn)算符:?&&?(And),||?(Or)

前置邏輯運(yùn)算符:?!?(Not)

相等運(yùn)算符:===,!==,==,!=

比較運(yùn)算符:>,>=,<,<=

布爾值往往用于流程的控制,判斷下一階段是否發(fā)生

如果 JavaScript 預(yù)期某個位置應(yīng)該是布爾值,會將該位置上現(xiàn)有的值自動轉(zhuǎn)為布爾值。轉(zhuǎn)換規(guī)則是除了下面六個值被轉(zhuǎn)為false,其他值都視為true。

undefined

null

false

0

NaN

""或''(空字符串)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容