判斷JavaScript的常用物件型別的方法和是否包含某個屬性的判斷

1。判斷物件型別的方法:

//萬能的型別判斷方法,可以判斷所有物件的型別const objectToString = Object。prototype。toString;const toTypeString = (value) => objectToString。call(value);//判斷是否是Arrayconst isArray = Array。isArray;//判斷是否是Mapconst isMap = (val) => toTypeString(val) === ‘[object Map]’;//判斷是否是Setconst isSet = (val) => toTypeString(val) === ‘[object Set]’;//判斷是否是Dateconst isDate = (val) => val instanceof Date;//判斷是否是Functionconst isFunction = (val) => typeof val === ‘function’;//判斷是否是Stringconst isString = (val) => typeof val === ‘string’;//判斷是否是Symbolconst isSymbol = (val) => typeof val === ‘symbol’;//判斷是否是非空物件const isObject = (val) => val !== null && typeof val === ‘object’;//判斷是否是Promiseconst isPromise = (val) => {return isObject(val) && isFunction(val。then) && isFunction(val。catch);};//判斷是否是普通的Object物件const isPlainObject = (val) => toTypeString(val) === ‘[object Object]’;//特別注意:1。typeof 物件判斷方法:typeof null // “object”;typeof undefined //“undefined”2。宣告未賦值的變數的型別為undefined:let abc //undefined

2。判斷物件是否有某個屬性的方法:

const hasOwnProperty = Object。prototype。hasOwnProperty;const hasOwn = (val, key) => hasOwnProperty。call(val, key);

3。JavaScript的全域性變數物件:

Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl