一. let
1.var没有严格的作用域,let有着严格的作用域
2.同一个变量var可以声明多次,重复声明,而let只能声明一次,如果多次声明编译报错
3.var能进行变量的提升(提前使用一个没有声明的变量,变量为undefined),let不能进行变量的提升(提前使用一个没有声明的变量,直接报错)
二.解构表达式
1.定义一个数组将数组中的值分别赋给多个变量
let arr=[0,1,2] 可以直接 let [a,b,c] =arr
2.常量的复制
const person={
name: zhangsan
age: 18
}
const [name,age] = person 或
const [name:name,age:age] = person可以直接复制给name和age两个常量
三.字符串的特性
let str = "hello.vue"
str.startsWith("hello")
str.endsWith("vue")
str.includes("llo")
字符串模板:之前声明多行字符串需要进行字符串的拼接,现在可以使用 `` 包裹就行了
4.字符串中使用${}插入变量,要使用``否则使用+运算符时就成字符串的拼接,其中可以使用function
例:let [name,age] = person ;let str=我是${name},年龄${age+10}`
function fun(){
return "这是函数";
}
let str=我是${fun()}`
四.函数的优化
1.参数的默认值
function fun(name,age = 12){
}
2.不定参数
function fun(...values){
}
3.箭头函数(箭头函数中使用this是获取不到值的,直接用对象.属性就能获取值)
var sum =(a,b) => {a+b};
例:箭头函数+解构
const person={
name: zhangsan
age: 18
}
var fun = ({name}) => {console.log(name)}
调用fun(person)