湖南网站建设网,网站和平台有什么区别,公司地址查询网站,可信网站认证logo本文会着重讲解es6#xff0c;帮助大家熟悉es6和掌握es6的写法
1#xff0c;let 没有变量提升#xff0c;使用变量在变量定义之前#xff0c;这点和var有很大区别 不允许重复声明 只在块级作用域里有效 暂时性死区 console.log(a) //报错#xff0c;因为在未定义前调用l…本文会着重讲解es6帮助大家熟悉es6和掌握es6的写法
1let 没有变量提升使用变量在变量定义之前这点和var有很大区别 不允许重复声明 只在块级作用域里有效 暂时性死区 console.log(a) //报错因为在未定义前调用let a 1console.log(a) //1 2const 声明常量 表示这个变量在声明后就无法修改
const a 1
a 2 //报错常量声明后无法修改
3解构赋值 将右边的数组依次解构出来赋值给前面的数组里的变量
let [a,b,c][1,2,3]
const.log(a) //1
const.log(b) //2
const.log(c) //3 4,扩展字符串 可以在字符串里直接写入变量${}不用在像以前一样通过加号来拼接了
let a 张三
console.log(我是${a}) // 我是张三
5解构 数组解构通过 ...数组 将数组的每一项都解构出来变成原本的数据类型1
let a [1,2,3,4]
console.log(...a) //1234 对象解构通过 {...对象} 将对象里的每一项都解构出来但是要注意下对象解构出来还是对象所以我们必须得在最外出用{}包裹 const obj {name:张三,age:18}console.log({...obj}) //{name:张三,age:18}修改name的值const obj1 {...obj,name:李四}console.log(obj1)//{name:张三,age:18}原理就是先解构在对象里在加入一个属性名称相同的值后覆盖前达成修改的效果
6.对象扩展 对象的属性名如果和属性值变量名称是一致的话可以简写
var a1
var obj {a:a}
可以简写为 var obj {a} console.log(obj) //{a:1} 如果对象的属性值是函数可以省略function
var obj {fh:function(){}}可以简写为
var obj {fn(){}} 在函数上做解构赋值
var obj {name:张三,age:18}
function fn (naem,age){console.log(name,age)
}
调用函数
fn(obj) //张三,18 。。直接传入一个对象函数帮我解构了相当于传入了 fn(obj.name,obj.age),
要注意的是形参必须和我们对象的属性一样才可以
7.set 类似于数组但不是数组set有个属性就是里面的数据不能重复所以可以用来给数组去重
var a [ 1,2,3,4,4]
var b new Set(a)
在进行解构重新赋值给一个数组这样就达到了去重的效果var c [...b]console.log(c)// [1,2,3,4] 可以通过add方法添加属性
var a new Set([1,2,3])
a.add(3).add(5)console.log(a) //[1,2,3,4,5] //添加的时候如果添加了重复的值会自动去重
8.map map方法将属性里的每一项单独拿出来执行回调函数 var arr [1,2,3,4]
arr.map((item){ //item就相当于数组里的每一项的值所以会依次打印 1,2,3,4
console.log(item)
})
9.promise 异步处理 处理异步代码
let pnew promise(function(resolve,reject){ //传入参数resolve和reject这2个是固定写法resolve(data) //调用resolve函数传入我们要异步处理的数据异步代码执行成功调用reject(data) //调用reject函数传入data异步代码执行失败调用})p.then(function(data){ //调用.then方法方法里接收一个函数函数接收的参数就是我们在上面resolve传递的值console.log(data)},(data){console.log(data) //当执行错误时就执行这个函数
} //.then方法里接收2个函数第一个函数是执行成功后执行第二个函数是执行失败后执行这样就能对异步进行处理了当异步执行完后才会执行.then方法里的代码。
10.async和await 也是用来处理异步
async function sc(){ //在函数前加上async将这个函数变为异步函数await 异步代码 //这里写异步代码注意异步代码前面要加await才能生效console.log(123) //当前面的异步代码执行完成后才会执行console.log()这样就实现了对异步的处理}