当前位置:首页 > JavaScript

js实现类型

2026-01-31 16:47:55JavaScript

JavaScript 类型判断方法

JavaScript 提供了多种方式来判断变量的类型,以下是常见的几种方法:

typeof 操作符

typeof 'hello' // 'string'
typeof 42 // 'number'
typeof true // 'boolean'
typeof undefined // 'undefined'
typeof null // 'object' (历史遗留问题)
typeof function() {} // 'function'
typeof [] // 'object'
typeof {} // 'object'

instanceof 操作符 用于检测构造函数的 prototype 属性是否出现在对象的原型链中:

[] instanceof Array // true
new Date() instanceof Date // true
{} instanceof Object // true

Object.prototype.toString.call() 更精确的类型判断方法:

Object.prototype.toString.call('hello') // '[object String]'
Object.prototype.toString.call(42) // '[object Number]'
Object.prototype.toString.call(true) // '[object Boolean]'
Object.prototype.toString.call(null) // '[object Null]'
Object.prototype.toString.call(undefined) // '[object Undefined]'
Object.prototype.toString.call([]) // '[object Array]'
Object.prototype.toString.call({}) // '[object Object]'
Object.prototype.toString.call(function() {}) // '[object Function]'

Array.isArray() 专门用于判断数组类型:

js实现类型

Array.isArray([]) // true
Array.isArray({}) // false

自定义类型判断函数 可以封装一个通用的类型判断函数:

function getType(obj) {
  return Object.prototype.toString.call(obj).slice(8, -1).toLowerCase()
}

getType('hello') // 'string'
getType([]) // 'array'
getType(null) // 'null'

类型转换方法

显式类型转换

Number('123') // 123
String(123) // '123'
Boolean(1) // true

隐式类型转换

js实现类型

'5' + 1 // '51' (字符串拼接)
'5' - 1 // 4 (数字运算)
'5' * '2' // 10
!0 // true

特殊类型检查

检查 NaN

isNaN(NaN) // true
isNaN('hello') // true
Number.isNaN(NaN) // true (ES6更精确的方法)
Number.isNaN('hello') // false

检查有限数字

isFinite(Infinity) // false
isFinite(42) // true
Number.isFinite(42) // true (ES6方法)

检查整数

Number.isInteger(42) // true
Number.isInteger(42.0) // true
Number.isInteger(42.1) // false

这些方法组合使用可以覆盖JavaScript中大部分类型判断和转换的需求。根据具体场景选择合适的方法,特别是要注意typeof null返回'object'这种特殊情况。

标签: 类型js
分享给朋友:

相关文章

js实现vue路由

js实现vue路由

Vue路由基础实现 使用Vue Router实现前端路由需要先安装并配置路由库。Vue Router是Vue.js官方的路由管理器。 安装Vue Router: npm install vue-r…

js实现轮播

js实现轮播

实现轮播图的基本思路 轮播图的核心逻辑是通过定时切换展示的图片或内容,通常结合左右滑动按钮和指示器(小圆点)增强交互性。以下是基于原生JavaScript的实现方法。 HTML结构 构建轮播图的HT…

js实现图片轮播

js实现图片轮播

实现基础图片轮播 使用HTML、CSS和JavaScript创建一个简单的图片轮播。HTML部分定义轮播容器和图片,CSS设置样式和动画效果,JavaScript处理轮播逻辑。 <div c…

js实现日历

js实现日历

实现日历的基本思路 使用JavaScript实现日历的核心是动态生成日期表格,并处理月份切换逻辑。需要计算当前月的天数、起始星期几,并动态渲染到页面上。 获取当前日期信息 通过Date对象获取当前年…

js实现选项卡

js实现选项卡

实现选项卡的基本思路 选项卡通常由一组标签和对应的内容面板组成。点击标签时,显示对应的内容面板,隐藏其他面板。实现这一效果需要结合HTML结构、CSS样式和JavaScript交互逻辑。 HTML结…

原生js实现轮播图

原生js实现轮播图

基本结构搭建 HTML部分需要包含轮播图容器、图片列表及导航按钮。结构示例如下: <div class="slider-container"> <div class="sli…