通过面试题研究 JavaScript 数据类型转换

发布于 2021-09-07 09:56 ,所属分类:2021面试经验技巧分享

(给web前端营加星标,提升前端技能.)

JavaScript 本身是一门弱类型语言,这意味着 JavaScript 变量没有预先确定的类型。变量当前的类型由其值所决定,也许上一秒种的string,下一秒可能就是个array。所以当我们进行某些操作时,变量可以进行类型之间的转换,接下来我们就谈一谈数据类型到底是如何转换的。

前言

先来看一道面试题

letresult=100+true+21.2+null+undefined+Tencent+[]+null+9+false;
// result应该是?

题目考察的知识点是数据类型隐式转换,想要做对这道题,我们必须了解 JavaScript 在转换的时候,会遵循哪些规则:

JS数据类型

首先,在 JavaScript 语言中数据类型分为2大类:原始值类型对象类型

原始值类型,就是我们常说的「值类型/基本数据类型」

  • number
  • string
  • boolean
  • null
  • undefined
  • symbol
  • bigint

对象类型指的是「引用数据类型」

  • 标准普通对象:object
  • 标准特殊对象:ArrayRegExpDateMathError……
  • 非标准特殊对象:NumberStringBoolean……
  • 可调用/执行对象「函数」:function

类型之间的转换

类型转换可以分为两种:

相关资源