let str01 = `
aaa
bbb
cc
`
let arr = [123,false,"aaa"]
//数组解构赋值使用[]
let [x,y,z] = arr
console.log(`x=${x},y=${y},z=${z}`)
let [a,b] = arr
console.log(a, b)
const person = {
name: "tom",
age: 15,
address: ["GD","guangzhou","baiyunshan"]
}
//对象解构赋值,使用{}大括号
let {name,age,address} = person
console.log(`name=${name}, age=${age}, address=${address} `)
//解构赋值,并把解构的元素值赋值给新的元素
let {name:n,age:a,address:ad} = person
console.log(`n=${n}, a=${a}, ad=${ad} `)
function add(a,b=1){
console.log(a+b)
}
add(5)
function add(a=2,b=1){
console.log(a+b)
}
add(5)
(形参01,形参02,…) => {函数体…}
const arr = [1,2,-1,-2]
arr.reduce((a,b)=>{
console.log("a+b=",a+b)
return a+b
})
const arr = [1,2,-1,-2]
arr.reduce((a,b)=>{
console.log("a+b=",a+b)
return a+b
}, 100)
let arr01 = [1,2,3,4,5]
let arr02 = [6,7,8,9,10]
console.log(arr01,...arr02)
console.log(...arr01,...arr02)
let arr01 = [1,2,3,4,5]
let arr02 = [6,7,8,9,10]
let arr03 = [...arr01,...arr02]
console.log(arr03)
console.log(...arr03)
const arr = [1,2,3,"mm","nn"]
let [x,y,z,...arr01] = arr
console.log(x,y,z,arr01)
let str = "hello world!"
let arr = [...str]
console.log(arr)
Promise,简单来说是一个容器,
保存着未来才会结束的事件(通常是一个异步操作)结果.
从语法上来说,Promise是一个对象,
从它可以获得异步操作的消息,Promise提供统一的API,
各种异步操作都可以同样进行处理.
我们可以通过Promise的构造函数来创造Promise对象,
并在内部封装成一个异步执行的结果.
const promise = new Promise(function(resolve,reject){
//执行异步操作
if(/* 异步操作成功 */){
resolve(value);// 调用resolve,代表Promise返回成功的结果
}else{
reject(error);//调用reject,代表Promise会返回失败结果
}
});
promise.then(
//then()方法,异步执行成功的回调
(value)=>{console.log(value)}
).cathch(
//catch()方法,异步执行失败的回调
(reason)=>{console.log(reason)}
);
const p = new Promise(function(resolve,reject){
//定时器任务,模拟异步
setTimeout(()=>{
let num = Math.random();
if(num<0.5){
resolve("成功!num:" + num);
}else{
reject("出错!num:" + num);
}
},1000)
});
//调用promise
p.then(
//小于0.5,表示正确
(msg)=>{console.log(msg)}
).catch(
//大于0.5,表示错误
(msg)=>{console.log(msg)}
);
输出结果:
let set = new Set();
let set2 = new Set([1,2,3])
//接收一个元素为数组的数组
const map = new Map([['key01','value01'],['key02','value02'],['key03','value03']])
//或者接受一个set
const set = new Set([['key01','value01'],['key02','value02']])
const map02 = new Map(set)
//或者其他map
const map03 = new Map(map)
class User{
}
class User{
//构造函数
constructor(name,age=20){
this.name = name;
this.age = age;
}
//定义函数
sayHello(){
console.log("sayHello...");
}
//静态函数
static isAdult(name,age){
if(age>=18){
console.log(name,"是成年人");
}else{
console.log(name,"是未成年人");
}
}
}
//创建对象
let user = new User("tom",15);
let user2 = new User("jerry");
//调用静态方法
User.isAdult(user.name,user.age);
User.isAdult(user2.name,user2.age);
function* hello(){
yield "hello";
yield "world";
yield "abc";
return "qq";
}
let h = hello();
console.log(h.next());
console.log(h.next());
console.log(h.next());
console.log(h.next());
console.log(h.next());
function* hello(){
yield "aaa";
yield "bbb";
yield "ccc";
return "ddd";
}
let hh = hello();
for( let v of hh){
console.log(v);
}
npm i yarn tyarn -g
tyarn global add umi
umi
tyarn init -y
umi g page index
class User{
constructor(name, age=20){
this.name = name;
this.age = age;
}
}
function T(target){ //target--被修饰的对象
console.log(target);
target.contry = "中国"; // 通过修饰器添加的属性是静态属性
}
console.log(User.contry);
class User{
static sum = (a,b)=>{return a+b;}
}
export default User //默认导出 User
import User from "./xxx路径/User"