JavaScript里的數據類型

因為最近在學javaScript,然后剛開始入門的時候,就講到了一些基礎語法和一些常用的概念,今天的話又突然了解到了JavaScript中的一些數據類型,覺得挺有意思的,所以我就對javaScript學習過程中遇到的一些問題和學到的一些東西做一個總結:

任何一種語言都有其自己的數據類型,當然我現在在學習的JavaScript也不例外,在這段時間中寫的一些小Demo,其中的一些代碼段都是由一句句代碼和變量,方法組成的,但是如果不仔細去看去查閱,作為初學者的我們又是否知道,這所謂的一句句代碼和變量方法就是由不同的數據類型組成的嗎?

01|JavaScript中的數據類型的簡介

JavaScript中的數據類型有6中,如果說包括后面隨著ES6(EcmaScript 6)的更新又增加了一種數據類型叫做Symbol(符號),這樣一來就有總共7種數據類型了,7中數據類型為:

  • number(數值,數字):包括整數以及小數(例如:1,2,3,4還有小數1.34,6.88等)
  • string(字符串):文本(我們程序員自學時候 剛開始寫的Hello World!)
  • boolean(布爾類型):表示表示真偽的兩個特殊值,分別為true:真,false:假
  • undefined(未定義):其實看英文就能夠看到它的含義,就是未定義,正因為它是未定義,因此沒有任何值
  • null(空):表示空值,此時的值為!
  • object(對象):表示各種值的集合!
  • symbol(字面量基本類型):這個Symbol具體的屬性請參見MDN-Symbol

其實通過上面還是還是能夠見到的理解這簡短的含義的,其中我們在編碼過程中常見的三種類型分別是:

  1. number:數值 數字
  2. string:字符串
  3. Boolean:布爾類型

這三種是我們在開發過程中常用到的類型了,稱之為原始類型(primitive type),不能再做細分了,然后就是Object(對象)稱之為合成類型(complex type),因為一個對象往往是由多個原始類型的值合成,將各種不同類型的數據封裝起來,也可以類比為一個容器,此時你可能會問<kbd>undefined</kbd>和<kbd>null</kbd> 怎么沒有進行介紹呢?

其實這兩種在編碼過程中還是有很多地方予以體現的,只不過沒有明顯的表示出來而已:

<kbd>Example</kbd>:

  1. 我們對其聲明一個變量,但是沒有值:
 var parameters;
//default value is undefined
//等同于 var parameters=undefined;

所以根據上面的例子很好說明,當我們需要聲明一個變量但是不進行賦值的時候,該變量就為undefined,就是未定義的意思!

  1. 聲明一個對象但是不想賦值:
var documentObject=null;
//null就是為空值的意思 我們一般生命對象不對其進行賦值就是將其設置為 null!
  1. 有一個非對象,不想賦值
var boolean;//聲明非對象 不對其進行賦值

其實還是比較容易理解的,從上面的示例中就很清楚的看出undefined和null的應用!

但是上面的用法只是我們所推薦的!

在我們介紹到7個數據基本類型中的6個的時候,下面一個比較重要數據類型就是概念,雖然上面提到了一下,但是還是簡單介紹一下,Object(對象)在項目中是如何體現的:

  • 狹義的對象(Object):
var person={
    'name':ProbeDream,
    'age':21,
    'gender':'male'
}

其中將三種屬性封裝在了對象當中,因為三種屬性都有一種特性,就是人的特性,因此這三個屬性的合成就變成了一個對象!

  • 數組(array)
var arrays=[
    '0':'1',
    '1':'2',
    '2':'3',
    '3':'4'
]
var first=arrays['0'];

從這個里面也應該還理解吧,就是一個數組,也可以直接通過object[key]的形式來拿數據,或者是通過object.key的形式來拿數據!

  • 函數(function)
var happy=function(name){
    console.log('welcome!'+name+'hello World'); 
}

以上面示例的函數也是對象:

02|null和undefined如果出現在條件判斷語句里面會以一種什么樣的形式存在呢?

假設我們都不知道null和defined在if條件判斷語句中是什么意思,但是通過實際應用應該會有一個答案,于是下面的代碼就會有體現:

This is Code Description:

//undefined 部分
if (undefined) {
  console.log('undefined is true!');
}else{
  console.log('undefined is false!');   
}
//null 部分
if (null) {
  console.log('null is true!');
}else{
  console.log('null is false!');
}

This is the result of the code run:

details undefined:

if (undefined) {
  console.log('undefined is true!');
}else{
  console.log('undefined is false!');   
}

VM127:4 undefined is false!

details null:

if (null) {
  console.log('null is true!');
}else{
  console.log('null is false!');
}
VM130:4 null is false!

通過上面的示例和運行結果顯示,在條件判斷語句中,unll和undefined都是以Boolean中的false存在的!

因為JavaScript里面的一些細節方面的東西太多,需要我不斷學習和整理,以后的內容我會慢慢整理成Blog然后貼出來的,如果認為這篇Blog還有什么問題的話可以去我的Github向我反饋謝謝!

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容