首頁 >web前端 >js教程 >JavaScript的資料型別有哪些,你能說出幾個?

JavaScript的資料型別有哪些,你能說出幾個?

yulia
yulia原創
2018-09-12 16:38:441760瀏覽

對於許多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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn