首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

js 获得数据类型

在JavaScript中,可以使用typeof操作符来获取一个值的数据类型。typeof操作符返回一个表示操作数类型的字符串。以下是一些常见的数据类型及其对应的typeof返回值:

  • "undefined": 当变量已声明但未赋值时。
  • "boolean": 当值是布尔类型时。
  • "number": 当值是数字类型时。
  • "string": 当值是字符串类型时。
  • "bigint": 当值是BigInt类型时(ES2020新增)。
  • "symbol": 当值是Symbol类型时(ES6新增)。
  • "function": 当值是函数对象时。
  • "object": 当值是对象或null时(注意,typeof null会返回"object",这是一个历史遗留问题)。

对于数组、日期、正则表达式等更具体的对象类型,typeof操作符无法区分,都会返回"object"。如果需要更精确地检测这些类型,可以使用instanceof操作符或者Object.prototype.toString.call()方法。

示例代码:

代码语言:txt
复制
console.log(typeof undefined); // "undefined"
console.log(typeof true); // "boolean"
console.log(typeof 42); // "number"
console.log(typeof 'Hello World'); // "string"
console.log(typeof 10n); // "bigint" (ES2020)
console.log(typeof Symbol('sym')); // "symbol" (ES6)

console.log(typeof function() {}); // "function"
console.log(typeof null); // "object" (注意这是一个历史遗留问题)
console.log(typeof {}); // "object"
console.log(typeof []); // "object"

// 使用 instanceof 来检测更具体的对象类型
console.log([] instanceof Array); // true
console.log({} instanceof Object); // true
console.log(new Date() instanceof Date); // true

// 使用 Object.prototype.toString.call() 来检测类型
console.log(Object.prototype.toString.call([]) === '[object Array]'); // true
console.log(Object.prototype.toString.call({}) === '[object Object]'); // true
console.log(Object.prototype.toString.call(new Date()) === '[object Date]'); // true

在处理数据类型时,了解这些基本概念和检测方法对于编写健壮的JavaScript代码非常重要。如果你遇到了具体的问题或者有关于数据类型的疑问,可以提供更详细的情况,以便给出更针对性的解答。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的文章

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券