JavaScript 变量和数据类型
变量声明
在 JavaScript 中,我们可以使用 var、let 和 const 来声明变量:
// var - 函数作用域
var name = 'John';
// let - 块级作用域
let age = 25;
// const - 常量,不可重新赋值
const PI = 3.14159;var 和 let 的区别
-
作用域
var是函数作用域let是块级作用域
-
变量提升
var存在变量提升let不存在变量提升
数据类型
JavaScript 有以下基本数据类型:
-
Number
let num = 42; let float = 3.14; -
String
let str = 'Hello'; let str2 = "World"; let template = `Template literal: ${str}`; -
Boolean
let isTrue = true; let isFalse = false; -
Null & Undefined
let empty = null; let notDefined = undefined; -
Symbol (ES6)
const symbol = Symbol('description'); -
BigInt (ES2020)
const bigInt = 9007199254740991n;
引用类型
-
Object
const person = { name: 'John', age: 30 }; -
Array
const numbers = [1, 2, 3, 4, 5];
类型检查
使用 typeof 操作符:
typeof 42; // "number"
typeof "Hello"; // "string"
typeof true; // "boolean"
typeof undefined; // "undefined"
typeof null; // "object" (这是一个历史遗留的bug)
typeof {}; // "object"
typeof []; // "object"
typeof Symbol(); // "symbol"面试要点
- 说明
var、let和const的区别 - 解释变量提升(Hoisting)
- 说明
null和undefined的区别 - 解释为什么
typeof null返回 "object" - 说明基本类型和引用类型的区别