ES6语法糖
如果浏览器不支持es6语法,可以使用babel在线转换一下
es2021===es12 也就是说es更新到了12
var let const
let
1变量不可以重复声明
let star = '小楊'
let star = "杨阳"
console.log(star) 输出结果报错
2 块级作用域 只在代码块中有效 出代码块就失效
如果在if else while for里面写let声明也存在块级作用域
{
let yang="杨"
console.log(yang)//正常输出 杨
}
console.log(yang)//报错
3不存在变量提升
变量提升指变量的声明之前去使用这个变量
console.log(yang)//报错
let yang="杨"
4 不影响作用域链
{
let yang="杨"
function fun(){
console.log(yang) //正常输出 杨
}
fun();
}
const
const 是声明常量 PS常量是指值不可以修改的量称为常量
1 一定要赋初始值
const yang;
console.log(yang)//报错
2一般常量使用大写(潜规则 如果小写也OK撒)
3 一般常量的值不可以修改
const yang="杨"
yang="阳"
console.log(yang) //报错
4也是块级作用域
5对于数组和对象的修改 不算对常量的修改 不会报错
PS 声明数组与对象时最好用const来声明
const yang=['1','2']
yang.push('3')
console.log(yang) //输出 1 2 3
变量的结构赋值
允许按照一定模式从数组和对象提取值 对变量进行赋值 称为结构赋值
数组结构
const yang=['1','2','3']
let [a,b,c]=yang;//进行赋值
console.log(a)//1
console.log(c)//3
对象结构
const yang={
name:'杨',
age:'18',
sex:'男',
habby:function(){
console.log('发呆')
}
}
//第一种
let {name,age,sex,habby}=yang;//进行赋值
console.log(age)//18
console.log(name)//杨
habby();//发呆
console.log(habby)//输出该habby的表达式
//第2种
let {habby}=yang//进行赋值
console.log(yang.name)//杨
模板字符串 ``
1 内容中可以出现换行符
let str=`
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>
`
console.log(str)//输出结果为 定义的str这个表达式
2 变量拼接
变量拼接时使用${}的形式
let yang ="杨洋"
let out =`${yang}是一位演员`
console.log(out) //杨洋是一位演员
箭头函数
let fun =function(){}
let fun =()=>{
}
1 this指向永远指向函数声明时所在作用域下的值 是静态的
2不可以作为构造函数实例化的对象
let person=(name,age)=>{
this.name=name;
this.age=age
}
let me=new person('杨文阳',88);
console.log(me)//报错
3不可以使用arguments变量
let fun =()=>{
console.log(argument)
}
fun(1,2)//报错
4箭头函数也可以简写
4.1省略小括号 当形参只有一个时
let add=(n)=>{
return n+n
}
console.log(add(9))//18
可以简写
let add=n=>{
return n+n
}
console.log(add(9))//18
4.2 省略花括号 当代码只有一条语句时 return语句也要省略
let add=(n)=>{
return n+n
}
console.log(add(9))//18
可以简写
let add=(n)=>n+n
console.log(add(9))//18
ES6常见的数组遍历方法(6种)
symbol
// 创建symbol
let s=Symbol();
console.log(typeof s)
// symbol 的使用
let yiuni = {
name: '111',
[Symbol('say')]: function () {
console.log(12121)
},
[Symbol('eat')]:function() {
console.log(eqeqe)
}
}
console.log(yiuni)
迭代器