在线客服

前端面试题:JavaScript中如何判断数据类型有哪些方法

adminadmin 报建百科 2024-04-24 177 16
前端面试题:JavaScript中如何判断数据类型有哪些方法

1. 基本数据类型的判定:typeof [变量名]

typeof 1 // 'number'
typeof 'string呀' // 'string'
typeof true // 'boolean'
typeof Symbol('abc')  // 'symbol'

控制台验证:

扩充知识:typeof NaN // 'number'

2. 引用类型 object 的判断: ① constructor ② instanceof ③ Object.prototype.toString.call()

也可以说是数组和对象的区分方法。

var arr=[];//arr.constructor Array
var obj={};//obj.constructor Object
//在控制台输入
arr.constructor
"? Array() { [native code] }"

arr instanceof Array
"true"

obj.constructor
"? Object() { [native code] }"

[] instanceof Array
"true"

obj instanceof Object
"true"

注意:{} instanceof Object会报错,可能是函数的{},用变量obj接受,如图:

Object.prototype.toString.call():

Object.prototype.toString.call([])
"[object Array]"

Object.prototype.toString.call({})
"[object Object]"

Object.prototype.toString.call(123)
"[object Number]"

Object.prototype.toString.call('123')
"[object String]"

Object.prototype.toString.call(true)
'[object Boolean]'

Object.prototype.toString.call(undefined)
'[object Undefined]'

Object.prototype.toString.call(null)
'[object Null]'

Object.prototype.toString.call(Symbol())
'[object Symbol]'

3. 两个特殊类型用typeof 的结果:

null为object是历史遗留问题,js最初是这么设计的,空指针。

4. 补充:新增数据的类型 BigInt,仍属于基本数据类型:

JS 中的Number类型只能安全地表示 -9007199254740991 和 9007199254740991, 即-(2^53-1)到 (2^53-1) 之间的整数,任何超出此范围的整数值都可能失去精度。

Number.MAX_SAFE_INTEGER
// 9007199254740991
Number.MIN_SAFE_INTEGER
// -9007199254740991
let bigN=Number.MAX_SAFE_INTEGER // bigN 为 9007199254740991
typeof bigN
// 'number'

如图:

本网站是一个以CSS、JavaScript、Vue、HTML为核心的前端开发技术网站。我们致力于为广大前端开发者提供专业、全面、实用的前端开发知识和技术支持。 在本网站中,您可以学习到最新的前端开发技术,了解前端开发的最新趋势和最佳实践。我们提供丰富的教程和案例,让您可以快速掌握前端开发的核心技术和流程。 本网站还提供一系列实用的工具和插件,帮助您更加高效地进行前端开发工作。我们提供的工具和插件都经过精心设计和优化,可以帮助您节省时间和精力,提升开发效率。 除此之外,本网站还拥有一个活跃的社区,您可以在社区中与其他前端开发者交流技术、分享经验、解决问题。我们相信,社区的力量可以帮助您更好地成长和进步。 在本网站中,您可以找到您需要的一切前端开发资源,让您成为一名更加优秀的前端开发者。欢迎您加入我们的大家庭,一起探索前端开发的无限可能!
代办报建

本公司承接江浙沪报建代办施工许可证。
联系人:张经理,18321657689(微信同号)。

喜欢0发布评论

16条评论

  • 游客 发表于 2个月前

    今天过得很不爽!https://sdceda.com/fei/282640924/

  • 游客 发表于 2个月前

    楼主的等级很高啊!http://n2g2jb.getti.cn

  • 六宝典app下载 发表于 1个月前

    看了这么多帖子,第一次看到这么经典的!http://fvn1p.thsjwcbyy.com

  • 游客 发表于 1个月前

    勤奋灌水,天天向上!http://www.3553km.com

  • v博注册开户 发表于 4周前

    写得实在太好了,我唯一能做的就是默默顶贴!http://unmr.nllth.com

  • 游客 发表于 1周前

    不错的帖子,值得收藏!http://www.guangcexing.net/voddetail/ntxgFFjJrVDMK.html

  • 游客 发表于 2天前

    态度决定一切,不错!http://www.guangcexing.net/tv/GwBcenQpDaaEe.html

发表评论

  • 昵称(必填)
  • 邮箱
  • 网址