定义变量
let const 和 var 的区别
-
var 会进行预解析
-
let / const 不会进行预解析
-
-
var 可以声明两个重名的变量
-
let / const 不能定义重名变量
n1的值为200,let、const不能重复定义
-
-
var 没有块级作用域
-
let / const 有块级作用域
-
let 和 const 的区别
- let 可以定义变量的时候不进行赋值
-
const 在定义的时候必须赋值
- let 定义的变量可以被修改
-
const 定义的常量一经赋值不能被修改
箭头函数
是在ES6中对函数表达式的简写
对于声明式函数不能使用
在某些规则上又和以前的函数有一些不一样
var fn1 = function () {
console.log('fn1');
}
var fn2 = () => {
console.log('fn2');
}
箭头函数的特殊之处
-
箭头函数有时候可以省略()
=> 当你的形参只有一个时,可以不写()
-
箭头函数某些时候可以省略花括号
=> 代码只有一句话时,可以不写
=> 并且会自动把这一句话的结果当作返回值
-
箭头函数内没有arguments
-
箭头函数内没有this
=> 箭头函数内的this就是外部作用域的this
函数参数默认值
函数在定义的时候,可以直接给形参设置一个默认值
当没有传递实参的时候,就使用默认值
当传递了实参,就使用传递的实参
普通函数可以使用,箭头函数也可以使用
解构赋值
• 快速从 对象 或者 数组 中获取成员
• 解构赋值分成两种
数组的解构赋值 对象的解构赋值
-
解构数组
-
解构对象
第38行运行结果为undefined
模板字符串
新增的定义字符串方式
- 以前:
=> var str = '内容'
=> var str = "内容" - 现在:
=> var str =内容
(反引号)
区别:
- 可以换行书写
-
可以直接在字符串内解析变量
=> 当你需要解析变量时,直接书写${变量}
展开运算符
- ...
-
作用:展开数组的[]或者展开对象的{}
作用
-
合并数组
-
给函数传递参数
-
展开对象
类语法
必须和new连用
书写静态属性方法,需要加上static