ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript のデータ型は何ですか?

JavaScript のデータ型は何ですか?

yulia
yuliaオリジナル
2018-09-12 16:38:441713ブラウズ

多くの JavaScript 初心者にとって、データ型は混乱を招くものであり、場合によっては人々を混乱させてしまうこともあります。この混乱を解決しましょう。

JavaScript には合計 8 つのデータ型があります。これには、基本データ型と参照データ型が含まれます。基本的なデータ型は、文字列、数値、ブール値、null、未定義です。その中で、参照型は配列、関数、オブジェクトであり、合計 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

混同しやすいデータ型を区別する

ヒント: 上記の 8 つのデータ型を読んだ後、それらを読んでください。データには null、配列、オブジェクトの 3 種類があることがまだ少しわかりにくいでしょうか。 これら 3 つのデータ型の 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。