js檢查資料型別的方法

2021-09-24 14:17:08 字數 2353 閱讀 7513

console.log(typeof "");     // string

console.log(typeof 1);     // number

console.log(typeof true);     // boolean

console.log(typeof undefined);      // undefined

console.log(typeof null);      // object

console.log(typeof {});    // object

console.log(typeof );     //  object

console.log(typeof function(){});   // function

可以看見,null   陣列   跟  {}物件  都是object   是無法區分的

console.log("1" instanceof string);     // false

console.log(1 instanceof number);   // false

console.log(true instanceof boolean);    // false

console.log({} instanceof object);     //  true

console.log( instanceof array);     //  true

console.log(function(){} instanceof function);     //  true

本方法可以檢測複雜資料型別

//            console.log(null instanceof null);

//            console.log(undefined instanceof undefined);

null 跟  undefined   直接輸出會報錯  但是使用new  關鍵字建立就不會

console.log(("1").constructor === string);    //  true

console.log((1).constructor === number);     //  true

console.log((true).constructor === boolean);      //  true

console.log(({}).constructor === object);        //  true

console.log(().constructor === array);        //  true

console.log((function() {}).constructor === function);      //  true

//    console.log((null).constructor === null);

//    console.log((undefined).constructor === undefined);

看起來是可以解決所有問題了,但是改原型(prototype)就會改變型別

console.log(object.prototype.tostring.call("1"));    //  

console.log(object.prototype.tostring.call(1));      // 

console.log(object.prototype.tostring.call(null));         // 

console.log(object.prototype.tostring.call(undefined));         // 

console.log(object.prototype.tostring.call(true));     // 

console.log(object.prototype.tostring.call({}));      // 

console.log(object.prototype.tostring.call());         // 

console.log(object.prototype.tostring.call(function () {});        //

就算是更改原型一樣可以輸出 原來的資料型別

$.type("1")      //  

$.type(1)      // 

$.type()    // 

$.type(undefined)    // 

$.type(null)     //

js 資料型別 js中檢測資料型別的方法彙總

回顧一下js中資料型別分為兩大類,基礎型別和引用資料型別,主要有 基本資料型別 複雜資料型別 檢測js中的資料型別常用的方法有 typeof instanceof object.prototype.tostring 對比一下這三種方法的優缺點 typeof 5 number 有效typeof dsd...

python 資料型別檢查

資料型別檢查 在實際介面自動化測試過程中,我們會發現介面的很多入參引數都標記了 string int float array等等 這就迫使我們對入參得作下檢查工作,不然執行完成後,出錯了,少的還能快速找到問題,多了的話定位問題都要找半天。首先,第一種是這樣的 def function check n...

python 資料型別檢查

資料型別檢查 在實際介面自動化測試過程中,我們會發現介面的很多入參引數都標記了 string int float array等等 這就迫使我們對入參得作下檢查工作,不然執行完成後,出錯了,少的還能快速找到問題,多了的話定位問題都要找半天。首先,第一種是這樣的 def function check n...