资讯专栏INFORMATION COLUMN

js中判断类型的方法

wangym / 2637人阅读

摘要:中关于类型的判断有很多种方法,这里介绍两种常用的。操作符返回一个字符串,表示未经计算的操作数的类型。正因为不能准确判断一个对象变量,所以需要下面一种方法使用上的原生方法判断数据类型可以将这样的一长串代码封装成检测类型的方法

javascript中关于类型的判断有很多种方法, 这里介绍两种常用的。

typeof

typeof操作符返回一个字符串,表示未经计算的操作数的类型。

 console.log(typeof 12); // number

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

 console.log(typeof true); // boolean

在MDN中, typeof的用法记录的很详细。

这里有个js的关键点, 即typeof null == object。 null 不是一个对象,尽管 typeof null 输出的是 object,这是一个历史遗留问题,JS 的最初版本中使用的是 32 位系统,为了性能考虑使用低位存储变量的类型信息,000 开头代表是对象, null 表示为全零,所以将它错误的判断为 object 。

正因为typeof不能准确判断一个对象变量, 所以需要下面一种方法

Object.prototype.toString.call

使用Object.prototype上的原生toString()方法判断数据类型

 console.log( Object.prototype.toString.call( "hello" )) // [object String]

 console.log( Object.prototype.toString.call( 1 )) // [object Number]

 console.log( Object.prototype.toString.call( [1, 2, 3] )) // [object Array]

 console.log( Object.prototype.toString.call( null )) // [object Null]

可以将这样的一长串代码封装成检测类型的方法

let isType = type => obj => {
  return Object.prototype.toString.call( obj ) === `[object ${type}]`
}

isType("String")("123");       // true
isType("Array")([1, 2, 3]);    // true
isType("Number")(1);           // true

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/104328.html

相关文章

  • 【underscore.js 源码解读】常用类型判断以及一些有用工具方法

    摘要:最近开始看源码,并将源码解读放在了我的计划中。今天就跟大家聊一聊中一些常用类型检查方法,以及一些工具类的判断方法。用是否含有属性来判断工具类判断方法接下来看下一些常用的工具类判断方法。 Why underscore 最近开始看 underscore.js 源码,并将 underscore.js 源码解读 放在了我的 2016 计划中。 阅读一些著名框架类库的源码,就好像和一个个大师对话...

    tanglijun 评论0 收藏0
  • JStypeof和类型判断

    摘要:摘要这篇文章讲述运算符判断基本类型和引用类型的区别,以及怎么判断数组类型和空对象有种原始类型,即和。类型判断类型判断,一般就是判断是否是数组,是否是空对象。方法四使用语法,返回一个数组,只需要判断数组长度是否大于即可。 摘要 这篇文章讲述typeof运算符判断基本类型和引用类型的区别,以及怎么判断数组类型和空对象 typeof ECMAScript 有 5 种原始类型(primitiv...

    cppowboy 评论0 收藏0
  • 原生JS大揭秘—数据类型

    摘要:中九个内置对象在规范中定义了六种数据类型其中原始值类型有种,引用类型有种一有包装对象数值型,包括整形和浮点型其中都是类型二有包装对象字符串类型,有两种表示方式,双引号单引号。方法可以将任意类型数据转成字符串。 JS中九个内置对象 showImg(https://segmentfault.com/img/bV6iZG?w=481&h=411); 在ECMAScript规范(ES5)中定义...

    luck 评论0 收藏0
  • js对数据类型总结及判断数据类型各种方法及优缺点

    摘要:最常见的判断方法它的官方解释操作符返回一个字符串,表示未经计算的操作数的类型。另外,是判断对象是否属于某一类型,而不是获取的对象的类型。多个窗口意味着多个全局环境,不同的全局环境拥有不同的全局对象,从而拥有不同的内置类型构造函数。 js中的数据类型 js中只有六种原始数据类型和一个Object: Boolean Null Undefined Number String Symbol ...

    voyagelab 评论0 收藏0
  • Js基础知识(一) - 变量

    摘要:内置函数和对象中内置了一些函数和对象,很多语言都会有内置的方法,直接可以调用开发。根据语法标准提供的内置函数包括和。注意基础语法提供的内置函数和方法只有这些,像那是浏览器提供给我们的。强制类型转换大家应该都知道。 js基础 - 变量 *大家对js一定不会陌生,入门很简单(普通入门),很多人通过网络资源、书籍、课堂等很多途径学习js,但是有些js基础的只是往往被大家遗漏,本章就从js变量...

    leone 评论0 收藏0

发表评论

0条评论

wangym

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<