ES6--let const和var的区别,解构赋值,箭头函数

ES6

ES6的出现解决了ES5的一些不足,同时提供了大量的语法糖,可以让我们更舒服的写代码,在之后会持续记录学习ES6的笔记和方法

let和const

在es5中我们在声明变量和常量时是没有做区分的,在es6做了区分,先来看一下具体的使用方法有何不同。
let和var
在es6中let只用来声明变量,和var 的区别需要我们记住的,这个面试可能会用到。
1.let声明的变量不可以重复声明,而var重复声明之后,会覆盖之前所声明的变量。要注意执行代码的顺序。
2.let声明的变量不能变量提升
3.有块状作用域,可以避免一些变量向外泄露
4.let声明的变量不属于顶层对象

const
const主要用于声明常量,使用规则和let区分不大,但是要注意的是const声明的是常量,不可在后续通过其他操作来改变。大家写的时候也有默契, 我们在定义常量的时候也会大写

解构赋值

解构赋值是对我们的赋值运算符的一些拓展,可以让我们在写起来也比较爽
数组

    let arr2 = [a, b, c] = [1, 2, 3]
    console.log(arr2[2]);
   	//,是占位符
    let arr = ["蓝天", "白云", "沙漠", "盆地"];
    let [, , one] = arr; // 这里会取到第三个
    console.log([, , one]);
    // 解构整个数组
    let strArr = [...arr];
    // 得到整个数组
    console.log(strArr);

对象
在对象这里我们可以直接通过key值在obj中调用到对应的value值

let obj = {
   className : "andy",
   age: 18
}
let {className} = obj; // 得到andy
let {age} = obj;	// 得到18

箭头函数

箭头函数可以说简化了es5的回调函数,基本的语法就是** 参数=>函数体**

当我们需要传入多个参数的时候

//es5函数
 var sum = function(a, b) {
        return a + b;
    }
    //es6
    let sum = (a, b) => a + b //返回值只有return后面的数值,花括号和return都可以去掉

当我们传入一个参数的时候

 var six = function(n) {
        return n ** 6;
    }
    let six = n => n ** 6 //只有一个参数的时候,小括号也可以省略

//反转字符串
let reveresString = string => string.split('').reverse().join('')

这里有一个箭头函数this的指向问题
在这里箭头函数本身没有作用域(无this),箭头函数的this指向上一层,上下文决定其this

你可能感兴趣的:(笔记,javascript,前端,开发语言)