2020-05-07

今日学习
对象扩充
属性简写:
let age = 12;
let gender = ‘男’;
let obj = {
//age:age 当属性名和属性值一样时,属性值可以省略
age,
gender,
username:‘zhangsan’,
//sayName:function(){} 如果是一个方法,可以简写
sayName(a,b){
console.log(this.username);
}
};
console.log(obj);
obj.sayName();
属性表达式
let test = ‘hello’;
let obj = {
username :‘zhangsan’,
test,
//获取变量的值当做属性名
[test]:‘123’
};
console.log(obj);
获取方法名
function test1(){}
console.log(test1.name);
let person = {
sayName(){}
}
console.log(person.sayName.name);
对象的功能扩充
Object.is(a,b) 判断ab是否全等
复制对象
Object.assign(target,o1,o2,o3…)
合并对象
Object.assign(target,obj1,obj2,obj3);
let target = {};
let result = Object.assign(target,obj1,obj2,obj3);
console.log(target);
console.log(result);
对象原型扩展
操作原型对象
console.log(Object.prototype);
console.log(obj.proto);
console.log(Object.prototype === obj.proto);
修改原型对象
Object.setPrototypeOf(arr,{test:‘hello’});
arr.proto ={test:‘hello’};
对象遍历
获取所有可遍历的属性名组成的数组
let obj = {
username:‘admin’,
nickname:‘张三’,
age:20,
gender:‘男’
};
let keys = Object.keys(obj);
console.log(keys);
获取所有可遍历的属性值组成的数组
let values = Object.values(obj);
获取所有可遍历的属性键值对组成的数组
let entries = Object.entries(obj);
函数扩展
设置默认值的函数的length
function test(a,b=1,c){}
获取没有设置默认值的形参个数,在设置默认值的参数位置停止
console.log(test.length);
箭头函数
let test = (a,b)=> console.log(a+b);
箭头函数this 指向当前的模块对象
let say = ()=>{
console.log(this);
}
say();

你可能感兴趣的:(笔记)