返回

巧用JavaScript数据类型,应对面试题如鱼得水

前端

类型定义与基本概念

1. JavaScript 中一共有几种数据类型?

JavaScript 中有七种基本数据类型:

  • 布尔类型(Boolean):表示真假值,只有两个值:truefalse
  • 数字类型(Number):表示数字,可以是整数或浮点数。
  • 字符串类型(String):表示文本,由一串字符组成,可以用单引号或双引号括起来。
  • 空类型(Null):表示一个空值,没有具体的值。
  • 未定义类型(Undefined):表示一个变量还没有被赋值。
  • 对象类型(Object):表示一个复杂的数据结构,可以包含多个属性和方法。
  • 符号类型(Symbol):ES6中新增的数据类型,表示一个唯一的标识符。

类型转换与比较

2. 如何将一个字符串转换成数字?

可以使用 Number() 函数将字符串转换成数字。例如:

const num = Number("123");
console.log(num); // 123

3. 如何比较两个不同类型的值?

JavaScript 会自动将不同类型的值转换成相同类型再进行比较。例如:

const num = 123;
const str = "123";
console.log(num == str); // true

4. 如何进行严格相等比较?

使用 === 运算符可以进行严格相等比较。严格相等比较不仅比较值是否相同,还比较类型是否相同。例如:

const num = 123;
const str = "123";
console.log(num === str); // false

赋值与作用域

5. 什么是变量提升?

变量提升是指在JavaScript中,变量声明会自动提升到函数或块的顶部。这意味着即使变量在函数或块中被声明在使用之前,也可以访问到它。例如:

console.log(x); // undefined
var x = 123;

6. 什么是作用域?

作用域是指变量的可见范围。JavaScript 中有两种作用域:全局作用域和局部作用域。全局变量在整个程序中都可以访问,而局部变量只能在定义它们的函数或块中访问。例如:

var x = 123; // 全局变量

function myFunction() {
  var y = 456; // 局部变量
}

console.log(x); // 123
console.log(y); // ReferenceError: y is not defined

通过对这些JavaScript数据类型面试题的深入解析,可以帮助你对JavaScript数据类型有一个更全面的了解,轻松应对面试题的挑战。希望这些内容对你有所帮助,祝你在面试中取得优异的成绩!