因為最近在學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
其實通過上面還是還是能夠見到的理解這簡短的含義的,其中我們在編碼過程中常見的三種類型分別是:
- number:數值 數字
- string:字符串
- Boolean:布爾類型
這三種是我們在開發過程中常用到的類型了,稱之為原始類型(primitive type),不能再做細分了,然后就是Object(對象)稱之為合成類型(complex type),因為一個對象往往是由多個原始類型的值合成,將各種不同類型的數據封裝起來,也可以類比為一個容器,此時你可能會問<kbd>undefined</kbd>和<kbd>null</kbd> 怎么沒有進行介紹呢?
其實這兩種在編碼過程中還是有很多地方予以體現的,只不過沒有明顯的表示出來而已:
<kbd>Example</kbd>:
- 我們對其聲明一個變量,但是沒有值:
var parameters;
//default value is undefined
//等同于 var parameters=undefined;
所以根據上面的例子很好說明,當我們需要聲明一個變量但是不進行賦值的時候,該變量就為undefined,就是未定義的意思!
- 聲明一個對象但是不想賦值:
var documentObject=null;
//null就是為空值的意思 我們一般生命對象不對其進行賦值就是將其設置為 null!
- 有一個非對象,不想賦值
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向我反饋謝謝!