JavaScript中基本數(shù)據(jù)類型總結(jié)

JavaScript 擁有動(dòng)態(tài)類型

JavaScript 的變量是松散的,是一種弱類型或者說(shuō)動(dòng)態(tài)語(yǔ)言。具體體現(xiàn)在變量在存儲(chǔ)哪種數(shù)據(jù)類型方面沒(méi)有規(guī)定。
例如:

 var foo = 42; // foo is a Number now 
 var foo = "bar"; // foo is a String now 
 var foo = true; // foo is a Boolean now
//在給一個(gè)變量賦予了某種數(shù)據(jù)類型之后,不建議更換數(shù)據(jù)類型(但是這樣做是有效的)

JavaScript七種數(shù)據(jù)類型

在 JavaScript 規(guī)范中,共定義了七種數(shù)據(jù)類型,分為 “基本類型” 和 “引用類型” 兩大類,如下所示:

  • 基本類型:String、Number、Boolean、Symbol、Undefined、Null
  • 引用類型:Object

1. 字符串String

  • 字符串的作用:用于表示文本數(shù)據(jù)。
  • 字符串的元素索引:字符中每個(gè)元素的位置用數(shù)字表示,第一位元素的序號(hào)是0,后面依次增加。字符串的長(zhǎng)度就是它元素的個(gè)數(shù)。
  • 字符串的表現(xiàn)形式:使用單引號(hào)'**'或雙引號(hào)"**"括起來(lái),表示該值是一個(gè)字符串。
    例如:
var carname="Bill Gates";
var carname='Bill Gates';

可以在字符串中使用引號(hào),只要不匹配包圍字符串的引號(hào)即可:

var answer="Nice to meet you!";
var answer="He is called 'Bill'";
var answer='He is called "Bill"';
  • 獲取一個(gè)字符串的子串可通過(guò)選擇個(gè)別字母或者使用String.substr()。
  • 兩個(gè)字符串的連接使用連接操作符(+)或者String.concat()。
    P.S.這兩個(gè)大體明白是什么意思了,但是還沒(méi)有理解怎么用。有待進(jìn)一步探索。
  • 符號(hào)類型(Symbol):符號(hào)(Symbols)是ES6新定義的。符號(hào)類型是唯一的并且是不可修改的。

2. 數(shù)字Number

  • Number類型包含整數(shù)和浮點(diǎn)數(shù)(浮點(diǎn)數(shù)數(shù)值必須包含一個(gè)小數(shù)點(diǎn),且小數(shù)點(diǎn)后面至少有一位數(shù)字)兩種值
  • JavaScript 只有一種數(shù)字類型。數(shù)字可以帶小數(shù)點(diǎn),也可以不帶:
var x1=34.00;      //使用小數(shù)點(diǎn)來(lái)寫
var x2=34;         //不使用小數(shù)點(diǎn)來(lái)寫

極大或極小的數(shù)字可以通過(guò)科學(xué)(指數(shù))計(jì)數(shù)法來(lái)書寫:

var y=123e5;      // 12300000
var z=123e-5;     // 0.00123

3. 布爾Boolean

布爾(邏輯)只能有兩個(gè)值:true 或 false。布爾常用在條件測(cè)試中。

var x=true
var y=false

4. 符號(hào)Symbol

Symbol 是 ES6 新增的一種原始數(shù)據(jù)類型,它的字面意思是:符號(hào)、標(biāo)記。代表獨(dú)一無(wú)二的值 。

5. Undefined和Null

Undefined 這個(gè)值表示變量不含有值。
Null 類型只有一個(gè)值:null,表示空值,表示沒(méi)有被呈現(xiàn).
可以通過(guò)將變量的值設(shè)置為null來(lái)清空變量。

// 值:undefined
var car="Volvo"; //值:"Volvo"
var car=null; //值:null
cars=null; //清空cars
person=null; //清空person

6. 對(duì)象Object

  • javascript 中的對(duì)象(物體),和其它編程語(yǔ)言中的對(duì)象一樣,可以比照現(xiàn)實(shí)生活中的對(duì)象(物體)來(lái)理解它。 javascript 中對(duì)象(物體)的概念可以比照著現(xiàn)實(shí)生活中實(shí)實(shí)在在的物體來(lái)理解。
  • 在javascript中,一個(gè)對(duì)象可以是一個(gè)單獨(dú)的擁有屬性和類型的實(shí)體。我們拿它和一個(gè)杯子做下類比。一個(gè)杯子是一個(gè)對(duì)象(物體),擁有屬性。杯子有顏色,圖案,重量,由什么材質(zhì)構(gòu)成等等。同樣,javascript對(duì)象也有屬性來(lái)定義它的特征。
  • 對(duì)象可以通過(guò)new操作符后跟要?jiǎng)?chuàng)建的對(duì)象類型的名稱來(lái)創(chuàng)建。而創(chuàng)建Object類型的示例并為其添加屬性和(或)方法,就可以創(chuàng)建自定義對(duì)象,如下所示:
var o = new Object();   

我們也可以通過(guò)下面的方式直接創(chuàng)建一個(gè)對(duì)象:

 var person = { name: 'Bob', age: 20, gender: 'male' };

上述對(duì)象就定義了一個(gè)名為’Bob‘,20歲,的男生。

typeof操作符

由于JavaScript是松散類型的,因此需要有一種手段來(lái)檢測(cè)給定變量的數(shù)據(jù)類型——typeof就是負(fù)責(zé)提供這方面信息的操作符。對(duì)一個(gè)值使用typeof操作符可能返回下列某個(gè)字符串:

    'undefined' —— 未定義 
    'boolean' —— 布爾值 
    'string' —— 字符串 
    'number' —— 數(shù)字值 
    'object' —— 對(duì)象或null 
    function —— 函數(shù) 

下面展示一下使用typeof的示例:

    var message = 'some string'; 
    alert(typeof message); // "string" 
    alert(typeof(message)); // "string" 
    alert(typeof 95); // number

在實(shí)際編程的過(guò)程中,可以用typeof判斷任何一個(gè)變量的數(shù)據(jù)類型。

數(shù)組Array

數(shù)組下標(biāo)是基于零的,所以第一個(gè)項(xiàng)目是 [0],第二個(gè)是 [1],以此類推。
下面的代碼創(chuàng)建名為 cars 的數(shù)組:

var cars=new Array();
cars[0]="Audi";
cars[1]="BMW";
cars[2]="Volvo";

或者 (condensed array):

var cars=new Array("Audi","BMW","Volvo");

或者 (literal array):

var cars=["Audi","BMW","Volvo"];

聲明變量類型

當(dāng)您聲明新變量時(shí),可以使用關(guān)鍵詞 "new" 來(lái)聲明其類型:

var carname=new String;
var x=      new Number;
var y=      new Boolean;
var cars=   new Array;
var person= new Object;

JavaScript 變量均為對(duì)象。當(dāng)您聲明一個(gè)變量時(shí),就創(chuàng)建了一個(gè)新的對(duì)象。

全文參考:思特沃克教程,JavaScript數(shù)據(jù)類型
拓展閱讀:淺談 javascript 六種數(shù)據(jù)類型以及特殊注意點(diǎn),淺談 javascript 的數(shù)據(jù)類型檢測(cè)

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

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

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