ES6的简单介绍
什么是ES6
ES6即ECMAScript 6.0,是JS的下一代标准,目标是为了让JS编写复杂的大型应用程序。
ECMAScript 和 JavaScript 的关系
前者是后者的规格,后者是前者的一种实现。日常场合,这两个词是可以互换的。但同时,在更多意义上,ES6是对JS的一个完善,提升。为后期vue和react框架做准备。
let和const命令
二者都是起声明变量的作用
let声明变量
必须先定义再使用;
不能重复声明一个变量。
但是,值得注意的是,let的作用域局限于块级作用域,即不能像下方这种使用
{
let let_test=123;
}
console.log(let_test);//因为let是块级作用域,所以或报错
const声明变量
与let不同的是,const声明的变量,一旦声明,不可改变。但也是块级作用域。
当const声明变量时,也不可以被赋值。
当const声明对象时,其对象内的属性不可改变,但是属性里面的值可以改变。
模板字符串
由``
(反引号)构成。
在反引号里面,可以写如的
在前端中,模板字符串可以添加以下内容:
字符串文本:可以在模板字符串中添加任意文本,包括字母、数字、符号等。
例如:
let name = "John";
console.log(`Hello, ${name}!`); // 输出:Hello, John!
变量插值:可以使用${}语法将变量值插入到模板字符串中。
例如:
let name = "John";
let age = 25;
console.log(`My name is ${name} and I'm ${age} years old.`); // 输出:My name is John and I'm 25 years old.
多行字符串:可以使用反引号(`)创建多行字符串,其中可以在字符串中添加换行符和缩进等。
例如:
let multiLineString = `This is a multiple lines string.`;
console.log(multiLineString); // 输出:This is a multiple lines string.
转义字符:模板字符串中可以使用转义字符,如\n表示换行,\t表示制表符等。
例如:
console.log(`Hello\nWorld`); // 输出:Hello
//World
$的使用
- 变量名/函数名后缀:被用作变量名或函数名的后缀,以表示它们是特定的变量或函数。这种用法是为了区分普通变量和特殊变量,或者为了方便程序员记忆和识别。
var myVariable = 10;
var my$variable = 20; // 后缀"$"表示这个变量是特殊的
- 字符串插值:用于字符串插值,将变量的值插入到字符串中。这种用法通常在字符串中使用双引号(")时使用。
var text = "Hello, world!";
var regex = /world$/; // 匹配以"world"结尾的字符串
var result = text.match(regex); // 返回匹配结果
解构赋值运算
是对赋值运算符的扩展
针对数组和对象来进行操作
将对象里面的属性值直接输出,不必在定义别的变量来作为载体输出
let node = {
type:'iden',
name:'awagn'
}
let {type,name}=node;//不需要用let a = type;console.log(a);
console.log(type,name);
也可以与剩余函数相结合
let node = {
type:'iden',
name:'awagn'
}
let {type,...keys} = node;
console.log(keys);//输出name:‘awagn’
对象的扩展功能
ES6可以直接写入函数和变量,作为对象的属性和方法。
const name ='awagn',
age=18;
const person={
name,
age,
sayName(){
console.log(this.name);//直接放入函数,this指向name的值
}
}
person.sayName();//调用函数