好家伙,
本篇內容為《JS高級程式設計》第三章學習筆記
1.資料型別
ECMAScript有6種簡單資料型別(稱為原始型別):
Undefined, Null, Boolean, Number, String和Symbol,
Symbol (符號)是ECMAScript6新增的,還有一種復雜資料型別叫Object(物件),
Object是一種無序名值對的集合,因為在ECMAScript中不能定義自己的資料型別,所有值都可以用上述7種資料型別之一來表示,
只有7種資料型別似乎不足以表示全部資料,但ECMAScript的資料型別很靈活,一種資料型別可以當作多種資料型別來使用,
1.1.type運算子
因為ECMAScript的型別系統是松散的,所以需要一種手段來確定任意變數的資料型別,
typeof運算子就是為此而生的,對一個值使用typeof運算子會回傳下列字串之一:
let a;
let b =true;
let c ="panghu";
let d = 20;
let e =new Object();
let f =function(){};
let g =Symbol("panghu");
console.log(typeof a);
console.log(typeof b);
console.log(typeof c);
console.log(typeof d);
console.log(typeof e);
console.log(typeof f);
console.log(typeof g);
生動形象:

當然,會有特殊情況:
typeof null 回傳的是"object"
特殊值null被認為是一個對空物件的參考
let h =null;
console.log(typeof h);

2.undefined型別
undefined型別只有一個值,正是undefined,(我自成一類)
當宣告了變數卻沒有初始化時,變數自動被賦予undefined值
2.1.顯式賦值undefined

正常人應該能看出來這是一個完全沒必要的操作
一般來說,永遠不用顯示的給某個變數設定undefined值.字面值undefined主要用于比較.
增加這個特殊值的目的就是為了正式明確空物件指標(null)和未初始化變數的區別
舉個例子,
let panghu;
console.log(panghu);
console.log(kunkun);

有宣告,無初始化,報undefined
無宣告,報錯
2.2.undefined是假值
undefined是假值
3.null型別
null型別只有一個值,即null,邏輯來說,null值表示一個空物件指標,
let h =null;
console.log(typeof h);
3.1.null值檢測
在定義將來要保存物件值的變數時,建議使用null來初始化,不要使用其他值,
這樣,只要檢查這個變數的值是不是null就可以知道這個變數是否在后來被重新賦予了一個物件的參考,
比如:
if(panghu! =null){
//好了,我不為空了,我可能已經裝了一個物件了,你不要亂動我
}
3.2.與undefined表面相等
console.log(null==undefined)

但與undefined不同的是,
當我們需要在變數中保存物件的時候,我們可以先用null來填充該變數
(確保該變數不會被塞入一些奇怪的東西)
3.3.null同樣也是假值
4.boolean型別
boolean型別是ECMAScript中使用最頻繁的型別之一,有兩個字面值true和false.
這兩個布林值不同與數值,true不等于1,false不等于0;(true和false分大小寫)
4.1.布林值轉型函式
let panghu = "panghu";
console.log(Boolean(panghu));

4.2.布林值轉換規則

(書里的原圖)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/531510.html
標籤:JavaScript
下一篇:節點操作
