返回

同 JS 面试 官一决高下:数据类型对决, 语言精髓,难分伯仲!

前端

在 JS 的世界里,数据类型扮演着重要的角色,它们决定了变量可以存储什么类型的数据,进而影响着代码的运行方式。理解这些类型及其特性,是成为一名优秀 JS 开发者的必备技能。让我们一起踏上 JS 数据类型的探索之旅,揭开它背后的奥秘!

基本数据类型:

  • null:
    • 表示一个空值,是 JS 中唯一一个没有类型的类型。
    • 经常被用于表示不存在的值或未知的值。
    • 在严格模式下,不能将 null 赋值给其他类型的变量。
  • undefined:
    • 表示一个未定义的值,或者尚未被赋值的变量。
    • 当声明一个变量但没有赋值时,它的值默认为 undefined。
    • 也经常被用于表示不存在的值或未知的值。
  • Number:
    • 包含所有数值,既包括整数也包括小数。
    • 支持多种进制表示,如 10 进制、8 进制和 16 进制。
    • 存在一些特殊的数字,如 Infinity 和 NaN。
  • Boolean:
    • 只有两个值:true 和 false。
    • 通常用于表示逻辑状态或真假判断。
    • 经常被用于控制流程或判断条件。
  • String:
    • 由一系列字符组成,可以是字母、数字、符号或空格。
    • 可以使用单引号或双引号将字符串括起来。
    • 字符串是不可变的,即一旦创建就不能被修改。

引用数据类型:

  • object:
    • 对象是一种复杂的数据类型,可以存储各种属性和方法。
    • 对象由键值对组成,键是字符串,值可以是任意类型的数据。
    • 对象可以嵌套,形成复杂的数据结构。
  • es6 新增的数据类型:symbol
    • symbol 是一个唯一且不可变的值,用于表示一个独一无二的身份标识。
    • symbol 的主要作用是作为对象属性的 key,以避免属性名冲突。

null 是对象吗?为什么?

null 不是对象,尽管它有时被认为是对象。这是因为 null 是一个原始值(primitive value),而对象是一个引用值(reference value)。原始值直接存储在内存中,而引用值存储的是指向对象的内存地址。

结语:

JS 的数据类型是如此丰富而有趣,它们赋予了 JS 强大的表达能力和灵活性。希望通过这篇文章,你对 JS 数据类型有了更深入的了解,并在未来的 JS 开发之旅中如鱼得水,无往不利!

常见陷阱:

  • 将 null 和 undefined 混淆:
    • null 和 undefined 虽然都表示空值,但它们是不同的数据类型。null 是一个对象,而 undefined 是一个原始值。
  • 将 Number 和 String 混淆:
    • Number 和 String 是不同的数据类型,Number 是用来表示数值的,而 String 是用来表示文本的。
  • 将 object 和 array 混淆:
    • object 和 array 都是引用数据类型,但它们是不同的。object 是一个无序的集合,而 array 是一个有序的集合。