let
和 const
在ES6引入了两个新的关键字let
和const
来声明变量,与ES5中的var
不同的是,let
和const
声明的变量具有块级作用域。
let
用来声明可变的变量,可以在同一作用域中多次进行赋值操作:
let a = 1;
a = 2;
const
用来声明不可变的变量,只能在声明时赋值,一旦赋值后就不能再更改:
const PI = 3.14;
PI = 3; // TypeError: Assignment to constant variable.
值得注意的是,const
声明的变量虽然不可变,但如果其值是对象类型,对象内部的属性值是可以修改的:
const user = {
name: 'Alice',
age: 22
}
user.age = 23; // 修改 user 对象中属性 age 的值
在ES6中还引入了解构赋值语法,可以方便地将数组或对象中的值赋给对应的变量,示例如下:
const arr = [1, 2, 3];
const [a, b, c] = arr; // 将数组中的值赋给 a、b、c
console.log(a, b, c); // 1 2 3
const user = { name: 'Alice', age: 22 };
const { name, age } = user; // 将对象中的值赋给 name、age
console.log(name, age); // Alice 22
在JavaScript中,有6种基本数据类型,分别为:
undefined
: 未定义类型,表示一个变量未经初始化。null
: 空类型,表示一个变量没有值。boolean
: 布尔类型,表示true或false。number
: 数值类型,包括整数和浮点数。string
: 字符串类型,用于表示文本。symbol
: 符号类型,用于作为唯一的对象属性。在JavaScript中,虽然只有6种基本数据类型,但同时也具有对象类型,对象类型则是通过引用来传递的,它包含了一组属性和方法。
下面我们来简要了解一下每种基本数据类型的用法和示例:
undefined
使用typeof
操作符可以检查一个变量是否为undefined
类型,如下:
let a;
console.log(typeof a); // undefined
null
null
类型表示一个变量没有值,使用typeof
操作符检查一个null
类型的变量时,会返回字符串'object'
,这是一个历史遗留问题,需要注意。
let b = null;
console.log(typeof b); // object
boolean
boolean
类型表示两种可能的值:true和false。常用于条件判断和逻辑运算。
let c = true;
let d = false;
// ==、>、<、!、&&、|| 等逻辑运算符均适用于 boolean 类型
number
number
类型用于表示数值,包括整数和浮点数。下面是一些常用的数值操作:
let e = 10;
let f = 3.14;
console.log(e + f); // 加法
console.log(e - f); // 减法
console.log(e * f); // 乘法
console.log(e / f); // 除法
console.log(e % 3); // 取模运算
console.log(++e); // 自增
console.log(--e); // 自减
string
string
类型用于表示文本字符串,可以使用单引号、双引号或反引号括起来。常用于字符串操作、文本处理等。
let g = 'Hello';
let h = "world";
let i = `Coders`;
console.log(g + ' ' + h + ' ' + i); // 字符串拼接
console.log(g.toUpperCase()); // 转换为大写字母
console.log(h.toLowerCase()); // 转换为小写字母
console.log(g.length); // 获取字符串长度
console.log(h.charAt(3)); // 获取指定位置的字符,索引从0开始计数
console.log(i.substring(1, 4)); // 获取指定范围内的子字符串
symbol
symbol
类型用于表示唯一的对象属性,这是ES6新增的基本数据类型。
// 创建 symbol 类型的变量
const symbol1 = Symbol('symbol1');
const symbol2 = Symbol('symbol2');
console.log(typeof symbol1); // symbol
console.log(symbol1 === symbol2); // false
// symbol类型的变量可以用作对象属性的键值:
const user = {
[symbol1]: 'Alice',
[symbol2]: '22'
}
console.log(user[symbol1]); // Alice
console.log(user[symbol2]); // 22
本文详细介绍了ES6中变量赋值和基本数据类型的使用,包括了let
、const
、解构赋值、undefined
、null
、boolean
、number
、string
和symbol
等内容,希望能对大家有所帮助。