JS 里的數(shù)據(jù)類型

數(shù)據(jù)類型

最新的 ECMAScript 標(biāo)準(zhǔn)定義了 7 種數(shù)據(jù)類型:

  • 6 種原始類型
    • Number
    • String
    • Null
    • Undefined
    • Boolean
    • Symbol
  • 和 Object

數(shù)字

整數(shù)可以用十進制(基數(shù)為10)、十六進制(基數(shù)為16)、八進制(基數(shù)為8)以及二進制(基數(shù)為2)表示。

十進制整數(shù)字面量由一串?dāng)?shù)字序列組成,且沒有前綴0。
八進制的整數(shù)以 0(或0O、0o)開頭,只能包括數(shù)字0-7。
十六進制整數(shù)以0x(或0X)開頭,可以包含數(shù)字(0-9)和字母 a~f 或 A~F。
二進制整數(shù)以0b(或0B)開頭,只能包含數(shù)字0和1。
嚴(yán)格模式下,八進制整數(shù)字面量必須以0o或0O開頭,而不能以0開頭。

浮點數(shù)字面值可以有以下的組成部分:

一個十進制整數(shù),可以帶正負(fù)號(即前綴“+”或“ - ”),
小數(shù)點(“.”),
小數(shù)部分(由一串十進制數(shù)表示),
指數(shù)部分。
指數(shù)部分以“e”或“E”開頭,后面跟著一個整數(shù),可以有正負(fù)號(即前綴“+”或“-”)。浮點數(shù)字面量至少有一位數(shù)字,而且必須帶小數(shù)點或者“e”(大寫“E”也可)。

字符串

字符串字面量是由雙引號(")對或單引號(')括起來的零個或多個字符。字符串被限定在同種引號之間;也即,必須是成對單引號或成對雙引號。
字符串默認(rèn)只能寫在一行內(nèi),分成多行將會報錯
如果長字符串必須分成多行,可以在每一行的尾部使用反斜杠。
連接運算符(+)可以連接多個單行字符串,將長字符串拆成多行書寫,輸出的時候也是單行。(推薦)
作為一般字符的擴展,你可以在字符串中使用特殊字符。

字符 意思
\0 Null字節(jié)
\b 退格符
\f 換頁符
\n 換行符
\r 回車符
\t Tab (制表符)
\v 垂直制表符
' 單引號
" 雙引號
\ 反斜杠字符(\)
*XXX* 由從0到377最多三位八進制數(shù)XXX表示的 Latin-1 字符。例如,\251是版權(quán)符號的八進制序列。
\xXX 由從00和FF的兩位十六進制數(shù)字XX表示的Latin-1字符。例如,\ xA9是版權(quán)符號的十六進制序列。
\uXXXX 由四位十六進制數(shù)字XXXX表示的Unicode字符。例如,\ u00A9是版權(quán)符號的Unicode序列。
\u{XXXXX} Unicode代碼點 (code point) 轉(zhuǎn)義字符。例如,\u{2F804} 相當(dāng)于Unicode轉(zhuǎn)義字符 \uD87E\uDC04的簡寫。

布爾類型

布爾值代表“真”和“假”兩個狀態(tài)。“真”用關(guān)鍵字true表示,“假”用關(guān)鍵字false表示。布爾值只有這兩個值。

下列運算符會返回布爾值:

前置邏輯運算符: ! (Not)
相等運算符:===,!==,==,!=
比較運算符:>,>=,<,<=
如果 JavaScript 預(yù)期某個位置應(yīng)該是布爾值,會將該位置上現(xiàn)有的值自動轉(zhuǎn)為布爾值。轉(zhuǎn)換規(guī)則是除了下面六個值被轉(zhuǎn)為false,其他值都視為true。

undefined
null
false
0
NaN
""或''(空字符串)

null 和 undefined

一個沒有被賦值的變量會有個默認(rèn)值 undefined
一般情況下
一個對象,沒有賦值,使用null
一個非對象,沒有賦值,使用undefined

對象

什么是對象?簡單說,對象就是一組“鍵值對”(key-value)的集合,是一種無序的復(fù)合數(shù)據(jù)集合。
對象的所有鍵名都是字符串(ES6 又引入了 Symbol 值也可以作為鍵名),所以加不加引號都可以。
如果鍵名不符合標(biāo)識名的條件(比如第一個字符為數(shù)字,或者含有空格或運算符),且也不是數(shù)字,則必須加上引號,否則會報錯。

如果不同的變量名指向同一個對象,那么它們都是這個對象的引用,也就是說指向同一個內(nèi)存地址。修改其中一個變量,會影響到其他所有變量。

讀取對象的屬性,有兩種方法,一種是使用點運算符,還有一種是使用方括號運算符。
點運算符和方括號運算符,不僅可以用來讀取值,還可以用來賦值。

查看一個對象本身的所有屬性,可以使用Object.keys方法。

delete命令用于刪除對象的屬性,刪除成功后返回true。
注意,刪除一個不存在的屬性,delete不報錯,而且返回true。
只有一種情況,delete命令會返回false,那就是該屬性存在,且不得刪除。

in運算符用于檢查對象是否包含某個屬性(注意,檢查的是鍵名,不是鍵值),如果包含就返回true,否則返回false。它的左邊是一個字符串,表示屬性名,右邊是一個對象。

for...in循環(huán)用來遍歷一個對象的全部屬性。

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

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

  • 簡介 JavaScript 語言的每一個值,都屬于某一種數(shù)據(jù)類型。JavaScript 的數(shù)據(jù)類型,共有七種。 n...
    sxfshdf閱讀 1,014評論 0 48
  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line),也就是一...
    悟名先生閱讀 4,564評論 0 13
  • 1. 七種數(shù)據(jù)類型 number 數(shù)值 :整數(shù)和小數(shù) string字符串 : 文本 boolean布爾值 :tru...
    加油吧_閱讀 212評論 0 0
  • JS 里的數(shù)據(jù)類型 JavaScript 的數(shù)據(jù)類型,共有六種。 1、數(shù)值(number)2、字符串(string...
    leiuno閱讀 341評論 0 1
  • 一、種類 截止目前,JavaScript有七種數(shù)據(jù)類型:number,string,boolean,symbol ...
    Liveup閱讀 298評論 0 0

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