以下是“js 数据类型判断的方法”的完整攻略:
常规数据类型判断
在 JavaScript 中,可以使用 typeof 操作符判断出值的数据类型。
typeof
语法:
typeof value
例如:
typeof 5; // "number"
typeof 'abc'; // "string"
typeof false; // "boolean"
typeof []; // "object"
typeof null; // "object"
typeof {}; // "object"
typeof function(){}; // "function"
typeof undefined; // "undefined"
注意:typeof null
返回的是 "object",这是 JavaScript 的历史遗留问题。
instanceof
另一种判断数据类型的方式是使用 instanceof 操作符,它需要一个左侧的构造函数和一个右侧的待检测实例。它会检查右侧实例的原型链中是否有左侧构造函数的原型。
语法:
instanceof constructor
例如:
[] instanceof Array; // true
new Date() instanceof Date; // true
function(){} instanceof Function; // true
'abc' instanceof String; // false
new String('abc') instanceof String; // true
'abc' instanceof String
返回 false,是因为 'abc' 是基本类型的字符串,不是 String 对象,但是 new String('abc') 是一个 String 对象,所以 new String('abc') instanceof String
返回 true。
特殊数据类型判断
对于某些特殊的类型,上面的判断方式是无效的。比如判断 null、NaN 和 undefined。
null
判断 null 值可以直接使用等于 null 的方式。
例如:
const a = null;
a === null; // true
undefined
判断 undefined 值可以直接使用 typeof 或者判断变量是否被声明。
例如:
const a;
console.log(typeof a === 'undefined'); // true
console.log(a === undefined); // true
NaN
判断 NaN 只能使用 isNaN() 函数,它会将参数转换成数字类型,如果结果是 NaN,返回 true,否则返回 false。
例如:
isNaN(NaN); // true
isNaN('abc'); // true
isNaN('100px'); // true
isNaN('100'); // false
isNaN(undefined); // true
isNaN({}); // true
isNaN([]); // false
假设我们要判断是否是有效数字,应该使用:
const isNumber = (value) => typeof value === 'number' && !isNaN(value);
以上就是关于 JavaScript 中的数据类型判断方法的一些说明,希望能对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js 数据类型判断的方法 - Python技术站