對於許多JavaScript的初學者來說,資料型別是讓人疑惑的地方,有時甚至讓人抓狂,現在就來給大家解決這個疑惑。
JavaScript 一共有 八種資料型別。其中包含了 基本資料型別和引用資料型別。 其中基礎資料型別有: string 、 number 、 Boolean 、 null、 undefined 。其中 ,引用型別有: array 、 function 、 object一共就這麼8種資料型,每一種型別都會有各自的屬性或方法,從而建構了這個豐富多彩的 JavaScript 世界。
const strA = 'xxx===' const numberB = 123 const boolC = false const nullD = null const undedfinE = undefined const arrayF = [1,2,3] const funcG = function() { let a = '123' console.log(a) } const objH = { a: 1, getName: function() { console.log(this.a) } } const result = function(x) { return typeof x } console.log(result(strA)) // string console.log(result(numberB)) // number console.log(result(boolC)) // boolean console.log(result(nullD)) // object console.log(result(undedfinE)) // undefined console.log(result(arrayF)) // object console.log(result(funcG)) // function console.log(result(objH)) // object
區分容易混淆的資料型別
TIPS: 看完上面的八種 資料類型的 讀取。是發現有三種數據還是讓人有點迷糊,分別就是 null、array、Object 。這三個資料型別的 typeof 都是 object。那如何再次區分呢?
typeof null // object typeof [123,133] // object typeof {a:1} // object // 这个时候就无法判断了, 如何操作了? const testArray = [11,22,33,44] const testNull = null const testObj = {a:1} const testObjectFun = function(x) { return Object.prototype.toString.call(x) } console.log( testObjectFun(testArray)) // [object Array] console.log( testObjectFun(testNull)) // [object Null] console.log( testObjectFun(testObj)) // [object Object]
目前來看,Object.prototype.toString.call(xxx) 是一個很好判斷目前物件為 什麼的方法。
判斷目前物件為陣列的方法
const arr = [1,2,3] // es6 Array.isArray(arr) arr instanceof Array arr.constructor === Array // es5 Object.prototype.toString.call(arr) === '[object Array]'
總結:在JS 這門語言中,常見的資料類型在上文中已經作出了展示,而且也展示了一些判斷目前資料類型的方法,由於JS 是一種弱型別語言,所謂弱型別語言其實是指資料的型別可以根據上下文的變化而改變。
以上是JavaScript的資料型別有哪些,你能說出幾個?的詳細內容。更多資訊請關注PHP中文網其他相關文章!