JS——データの種類と判断

11434 ワード

元のデータタイプ(5種類)
String(文字列)、Number(数字)、Boolean(ブール値)、Null(空)、Unidefined(未定義)
参照データの種類
Object、Aray、Function
判定データタイプ
typeof
戻り値は6種類あります.文字列形式のString、Number、Boolean、Unidefined、Object、Functionです.
console.log(typeof(123))    // Number
console.log(typeof('abc'))  // String
console.log(typeof(true))   // Boolean
console.log(typeof(undefined)) // Undefined
console.log(typeof(null))   // Object,      ,null            
console.log(typeof({
      }))    // Object
console.log(typeof([ ]))    // Object
console.log(typeof(console.log()))  // Undefined
function sum() {
     }
console.log(typeof(sum))    // Function
console.log(typeof([1, 2])) // Object
typeofの欠陥:配列を正しく判断できず、判定結果はObjectです.nullタイプは判断できません.判定結果はObjectです.
instance of
ある立体関数のプロトタイプ属性が指すオブジェクトが別のオブジェクトのプロトタイプチェーン上に存在するかどうかを判断します.
console.log(({
     }) instanceof Object)              // true
console.log((null) instanceof Object)            // false
console.log(([]) instanceof Array)               // true
console.log((/aa/g) instanceof RegExp)           // true
console.log((function(){
     }) instanceof Function)  // true
Object.prototype.toString.call(検査対象)
console.log(Object.prototype.toString.call(null)) // [object Null]
console.log(Object.prototype.toString.call({
      })) // [object Object]
console.log(Object.prototype.toString.call([ ])) // [object Array]
console.log(Object.prototype.toString.call(sayIntroduce)) // [object Function]
console.log(Object.prototype.toString.call(undefined)) // [object Undefined]
console.log(Object.prototype.toString.call('abc'))// [object String]
console.log(Object.prototype.toString.call(123)) // [object Number]
console.log(Object.prototype.toString.call(true)) // [object Boolean]