notes
假设.container元素有三个子元素,想实现第一个元素在最左边,第二、三个元素在最右边,可以按照下面代码很容易实现:
.container {
display: flex;
}
.first-child {
margin-right: auto;
}
let user = {
name: "John",
surname: "Smith",
set fullName(value) {
[this.name, this.surname] = value.split(" ");
},
get fullName() {
return `${this.name} ${this.surname}`;
}
};
let admin = {
__proto__: user,
isAdmin: true
};
alert(admin.fullName); // John Smith (*)
首先,对象admin的原型通过__proto__被设置成对象user。
当访问admin.fullName时,由于admin对象上不存在fullName属性,于是沿着原型链向上查找,即user对象,在user对象上存在fullName属性,并且是访问器属性。
fullName的getter函数被调用,且调用期间,this指向admin对象,getter函数内访问了this.name 和this.surname,即admin.name和admin.surname,又由于admin对象不存在这两个属性,根据原型链的规则,又找到了user对象,user对象上存在name和surname属性,返回属性值。所以admin.fullName的结果是 John Smith.
https://www.zhihu.com/question/319494477
在webpack中配置babel-loader时,为什么要排除node_modules这个文件夹呢? 这个文件夹里js模块万一也有类似箭头函数的ES6语法呢?