ES6语法

1、变量和常量

使用let和const声明变量和常量

let声明变量可以被修改

const声明常量不可修改,建议大写命名,使用下划线_做分割(例如:const BASE_URL = 'http://xxx.xx.com')

PS:建议声明使用常量const,当发现需要修改时再改为变量let。

//1、变量和常量
{
    let count = 0;
    const BASE_URL = 'https://xxx.xxx.com';
}

块级作用域

let和const声明的变量,会生成块级作用域。 

可以使用大括号{}对代码块进行分割,只有在当前作用域才可以访问变量。

避免一个变量名在多个地方使用,导致变量名冲突的情况。

如下所示: 

{
    let count = 0;
    count++;
}
console.log(count);

上述代码以及运行结果可以看出,在大括号以外是无法访问块级作用域中声明的变量。

2、模板字符串

模板字符串使用反引号`对字符串进行拼接,解决了大量字符串拼接使用加号+比较麻烦的情况

在模板字符串中可以使用标记${}引入变量,比如引入name变量${name}

在模板字符串中换行生效,效果如下: 

//2、模板字符串
const str1 = 'hello world!';
const str2 = `hello everyone! ${str1}
这是换行的内容`;
console.log(str2)

3、解构赋值

数组解构赋值

const [a, b, c] = [1, 2, 3];
console.log(a, b, c);  // 1 2 3

上述代码是最基本的解构赋值写法

对象解构赋值

const { username, age: userAge, ...otherInfo} = {
    username: '李华',
    age: 18,
    gender: 'Male',
    category: 'user'
}
console.log(username, userAge, otherInfo)  
//李华 18 {gender: 'Male', category: 'user'}

上述代码我们对username进行解构赋值,获取到了名称,通过对解构变量重命名,把age取值重命名为userAge,通过使用...获取剩余对象属性(注意:要获取剩余属性值,必须把...放在解构赋值最后获取)

4、数组和对象的扩展

4.1 扩展运算符

const arr1 = [1, 2, 3];
const arr2 = [4, 5, 6];
const arr3 = [100, ...arr1, ...arr2, 10, 20];
console.log(arr3); //[100, 1, 2, 3, 4, 5, 6, 10, 20]

上述代码,可以看出扩展运算符的作用是展开数组,展开后可以拼接在其他数组中。

const obj1 = {
    a: 1
}
const obj2 = {
    b: 2
}

const obj3 = {
    name: '李华',
    ...obj1,
    ...obj2
}
console.log(obj3);  //{name: '李华', a: 1, b: 2}

上述代码可以看出,对象拼接和数组拼接也是类似的。

当我们需要对对象的值进行重复使用,可以使用扩展运算符,把需要扩展的属性放在属性后。

注意:对象拼接不考虑顺序问题。

4.2 数组方法 Array.from()

该方法适用于,将伪数组转为真实数组。

伪数组

(1)伪数组是一个对象(Object)

(2)伪数组拥有length属性,可以获取长度。当我们改变伪数组长度时,length不会改变

(3)伪数组可以通过下标获取对应的值

(4)伪数组无法使用数组的内置方法(如map、filter、push、forEach等),可以使用Object的方法,使用for in遍历

function fn(){
    Array.from(arguments).forEach(function (item){
        console.log(item);
    })
}
fn(1,2,3,4,5,6)  //1 2 3 4 5 6

4.3 对象方法 Object.assign()

Object.assign()方法用于对象浅拷贝。基于旧对象生成新对象。

对象浅拷贝 
const objA = {
    name: '李华',
    age: 18
}

const objB = Object.assign({}, objA);
objB.name = 'a';
console.log(objA, o
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值