基本類型
null
undefined
number
string
boolean
新增
Symbol
BigInt
引用類型
Object
Array
Date
RegExp
Function
- 具有對(duì)象特性姓言,即可自由擴(kuò)展屬性
- 引用類型都有一個(gè)proto屬性喂江,屬性值是一個(gè)普通的對(duì)象
- 所有的函數(shù)焙蹭,都有一個(gè)prototype屬性窃躲,屬性值也是一個(gè)普通的對(duì)象
- 引用類型(數(shù)組、對(duì)象墓律、函數(shù))膀估,proto屬性值指向它的構(gòu)造函數(shù)的prototype屬性值
var a={}
a.__proto__===Object.prototype
// true
function foo(a){
a = a * 10;
}
function bar(b){
b.value = 'new';
}
var a = 1;
var b = {value: 'old'};
foo(a);
bar(b);
console.log(a); // 1
console.log(b); // value: new
類型判斷
typeof
typeof 可以得到以下的值
undefined
boolean
number
string
object
function
symbol
耻讽、
注意:
- null會(huì)得到object
typeof null==="object"
// true
- 引用類型除了function 其他都會(huì)得到object
typeof []
// "object",
var a=()=>{}
typeof a
// "function"
typeof Symbol()
// "symbol"
instanceof
a instanceof b,查找a原型鏈上是否含有b
判斷類型實(shí)操
判斷undefined
typeof undefined
// "undefined",注意是小寫(xiě)開(kāi)頭
判斷數(shù)組
// 1.
Array.isArray(xxx)
// 2.
arr instanceof Array
判斷類型
Object.prototype.toString.call(1).slice(8,-1)
// "Number",注意是大寫(xiě)開(kāi)頭