『先の道』の初めて知った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を歓迎します.