ES6语法

1、解构
let user = {
username:"小明",
eat(){console.log("I am eat!")}
}
// 解构
let {username} = user
console.log(username)//---小明

// 数组解构
let [a,b,c] = [1,2,3]
let [...d] = [1,2,3,4]
console.log(a)//---1
console.log(d)//---[ 1, 2, 3, 4 ]
2、模块化
设置模块化工程package.json中添加"type": "module"

export default users;//导出模块
import users from '(文件位置)'//导入模块
b.js (导出)

let users = {
username2:'小明',
password2:'123456',
login(){
console.log('登入成功')
}
}

// 导出
// 默认导出
export default users;//只能有一个默认,默认导出的内容在引用的地方可以随意命名
// 非默认导出
export let z = 'xxx';
export let y = 'xxx';
a.js(导入b.js)

// 这里使用b.js(node环境运行)
// 导入
import users from "./b.js"
console.log(users)//---{ username2: '小明', password2: '123456', login: [Function: login] }
import xx from "./b.js"//默认导出的内容在引用的地方可以随意命名
console.log(xx)//---{ username2: '小明', password2: '123456', login: [Function: login] }
import {z} from "./b.js"//以解构的方式使用非默认导出
console.log(z)//---xxx
// 同时导入
import users2,{y} from "./b.js"
console.log(users2)//--{ username2: '小明', password2: '123456', login: [Function: login] }
console.log(y)//---xxx
3、promise
解决异步调用中回调地狱问题

// 一、异步回调中(几乎同时被调用)
setTimeout(()=>{
console.log("1")
},1000)
setTimeout(()=>{
console.log("2")
},1000)
setTimeout(()=>{
console.log("3")
console.log("---------------------------")
},1000)

// 二、回调中继续调用(代码多后会比较复杂)
setTimeout(()=>{
console.log("1")
setTimeout(()=>{
console.log("2")
setTimeout(()=>{
console.log("3")
console.log("---------------------------")
},1000)
},1000)
},1000)

// 三、promise
// 我们需要将一个异步请求包装成一个 promise对象
// resolve(结果),reject(拒绝)将来我们的异步任务如果执行成功就主动调用resolve
// 他可以将传递给resolve的值传递给下一个异步任务
new Promise ((resolve,reject)=>{
setTimeout(()=>{
console.log("1")
resolve("1")
},1000)
}).then(res =>{
console.log('传递的参数--'+res)
return new Promise((resolve,reject)=>{
setTimeout(()=>{
console.log(res+"2")
resolve(res+"2")
},1000)
})
}).then(res=>{
console.log('传递的参数--'+res)
setTimeout(()=>{
console.log(res+"3")
},1000)
}).catch(err =>{
console.log(err)
})

————————————————
版权声明:本文为CSDN博主「超级小的大西瓜」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_59636442/article/details/124706141

posted @ 2022-06-24 17:10  JocelynFung  阅读(36)  评论(0编辑  收藏  举报
Live2D 看板娘 / Demo