一.ES6的介绍
ECMAScript与JavaScript的关系 前者是后者的规格,后者是前者的实现
ES6: 代码简洁 浏览器兼容性很差
ES5:代码复杂 浏览器兼容性很好
es6是一套标准,javascript 很好的遵循了这套规范
二.ES6的语法
var和let的区别
1.定义变量
①.作用范围不同 let作为变量有作用范围
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
//var 声明的变量往往会越域
//let 声明的变量会有严格局部作用域
//创建代码块,定义变量
{
var a=1;
let b=2;
}
//2.在代码块 外面输出
console.log(a)
console.log(b)
</script>
</body>
</html>
②.let不能多次定义相同名称的变量
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
//同一个变量,var可以声明多次 let只能声明一次
var m=1
var m=2
let n=3
let n=4
console.log(m);
console.log(n);
</script>
</body>
</html>
③ 变量提升 即先使用再声明
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
//var 会变量提升 let不存在
console.log(x);
var x=10;
console.log(y);
let y=10;
</script>
</body>
</html>
3.定义常量
<script>
//定义常量
const PI="3.1415926"
//常量一旦定义,不能改变
PI=3;
//定义常量必须初始化
const AA
</script>
4.数组的解构
<script>
//传统写法
let a=1,b=2,c=3
console.log(a,b,c);
//es6写法
let[x,y,z]=[10,20,30]
console.log(x,y,z);
</script>
5.对象的解构
<script>
//定义对象
let user={"name":"lucy","age":20}
//传统从对象里面获取值
let name1=user.name
let age1=user.age
console.log(name1+"=="+age1);
//es6写法
let{name,age}=user
console.log(name+"=="+age);
</script>
6模板字符串`
<script>
//1.使用`符合实现换行
let str1=`hello,
es6 demo up!`
console.log(str1);
//2.在`符号里使用表达式获取变量值
let name="Mike"
let age=27
let str2=`hello,${name},age is ${age+1}`
console.log(str2);
//3.在`符合调用方法
function f1(){
return "hello f1"
}
let str3=`demo,${f1()}`
console.log(str3);
</script>
声明对象
<script>
const name=12
const age="lucy"
//传统方式定义变量
const p1={name:name,age:age}
console.log(p1);
//es6定义变量
const p2={name,age}
console.log(p2);
</script>
<script>
//1.对象复制
let person1={"name":"lucy","age":20}
let person2={...person1}
console.log(person2);
//2.合并对象
let age={age:15}
let name={name:"Amy"}
let person3={...age,...name}
console.log(person3);
</script>
箭头函数
<script>
//基本语法 参数=>函数体
//传统方式
var f1=function(m){
return m;
}
console.log(f1(2));
//使用箭头函数改造
var f2=m=>m
console.log(f2(8));
</script>