# es6 相关案例
# [es6]扩展运算符和剩余参数的用法
# [es6]在一个模块中默认导出 name 变量
let name = "strick";
export default name;
name = "freedom";
// 然后在另一个模块中把它导入,如下所示。
import name from "./1.js";
console.log(name);
最终在控制台输出的值为__________。
# [es6]在一个模块中默认导出 age 变量
let age = 28;
export { age as default };
age = 30;
//然后在另一个模块中把它导入,如下所示。
import age from "./1.js";
console.log(age);
最终在控制台输出的值为__________。
# [es6]如何判断一个字符是由两个编码单元组成的
# [es6]执行下面的正则表达式
var pattern = /^pw\d/y,
str = "pw1pw2";
pattern.test(str); //第一条
pattern.test(str); //第二条
# [es6]正则问题
var str = "𠮳𠮳";
console.log(/𠮳{2}/.test(str))
console.log(/𠮳{2}/u.test(str))
# [es6]特殊字符串循环forof和for循环
let foo ='向𠮳';
for(let i=0; i<foo.length;i++){
console.warn(foo[i])
}
for(let i of foo){
console.log(i)
}
# [es6]箭头函数和显示绑定
window.age = 18;
function animal() {
this.age = 28;
setTimeout((() => {
console.warn(this.age); //输出什么
}).call(window), 100);
}
new animal();
# [es6]对象调用箭头函数
var obj = {
age: 28,
arrow: () => this.age,
normal: function() {
return this.age;
}
};
obj.arrow();
obj.normal();
# [es6]map的设置值
var map = new Map(),
obj = {};
map.set(null, 1);
map.set(undefined, 2);
map.set(NaN, 3);
map.set(1, 4);
map.set("1", 5);
map.set({}, 6);
map.get(null)的结果是__________,map.get(undefined)的结果是__________,map.get(NaN)的结果是__________。
map.get(1)的结果是__________,map.get("1")的结果是__________。
# [es6]如何将Map转为数组
# [es6]生成器代码结果
这 3 个对象的 value 属性的值依次是什么。
function* digit() {
try {
yield 1;
} finally {
yield 2;
}
yield 4;
}
var iterator = digit();
console.warn(iterator.next())
console.warn(iterator.return(3))
console.warn(iterator.next())
# [es6]class代码题
class People {
constructor() {
this.name = "strick";
this.age = 28;
}
static getName() {
return this.name;
}
static getAge() {
return this.age;
}
}
console.warn(People.getName())
console.warn(People.getAge())
# [es6]class代码题2
class People {
constructor() {
this.age = 28;
}
getAge() {
return this.age;
}
static getAge() {
return this.age;
}
}
class Man extends People {
constructor() {
super();
this.age = 29;
}
getAge() {
return super.getAge();
}
static getAge() {
return super.getAge();
}
}
Man.age = 30;
var man = new Man();
console.warn(Man.getAge())
console.warn(man.getAge())
# [es6]promise问题
var p = new Promise(function(resolve) {
resolve(Promise.reject("error"));
});
console.warn(p)
p.then((val)=>{
console.log('fuileld'+val)
},(val)=>{
console.log('reject'+val)
})
# [es6] proxy
var people = {
name: "strick",
age: 28,
[Symbol.for("gender")]: "man",
school: "university"
},
handler = {
ownKeys(target) {
return Reflect.ownKeys(target).filter((value, index) => {
return index % 2 === 0;
});
}
},
p = new Proxy(people, handler);
const f = Object.getOwnPropertyNames(p)
console.warn(f)