『先の道』の初めて知ったJavaScript
2415 ワード
01初心者JavaScript
今の対象を配列と判断する方法
, , 。
?
~
, , JavaScript
一、JavaScriptのデータタイプ jser , , 。 。
JavaScript 。
: string 、 number 、 Boolean 、 null、 undefined
: array 、 function 、 object
8 , , JavaScript 。
。 typeOf , , 。
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:
は上の8種類のデータタイプの読み取りを終了する.3つのデータがあることを発見するかどうかはまだ迷っています.それぞれnull、array、Objectです.この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]
TIPS:
現在のところ、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]'
ES5、6 . 。
四、章のまとめ JS , , , JS , 。 。
Github住所、Starを歓迎します.