数组方法见菜鸟教程:https://www.runoob.com/w3cnote/es6-array.html
对象数据菜鸟更多方法:https://www.runoob.com/w3cnote/es6-object.html
1、允许直接写入变量和函数,作为对象的属性和方法
let a = '孟浩然';
let b = {a}; // 允许直接写入变量和函数,作为对象的属性和方法
console.log(b);
// 等同于:let b = {a:a}
2、对象属性名和方法名的简写
- 属性名:见arr2.name
- 方法名:见arr2.fn() \ arr2.fn(input)
3、属性名或者方法名是关键字的写法:见arr2.in()
4、ES6允许字面量定义对象时使用表达式作为对象的 属性名 和 方法名,但要把表达式放在方括号内
5、属性名表达式如果是一个对象,默认情况下会自动将对象转为字符串[object Object]
let name = '张养浩';
let obj = {'hello':'你好'};
let arr1 = {
name:name,
'in':function(){
return '这是使用关键字in作为属性名时,属性名需要写成字符串形式';
},
fn:function(){
return '这是一个方法';
},
fn2:function(input){
return '你传入的参数是:'+ input;
}
};
// 简洁写法
let arr2 = {
name, // 使用之前已经定义过的对象作为属性时,只写要使用的对象名即可,属性值可以省略
zi:'希孟',
in(){
return '这是使用关键字in作为属性名的简洁写法,属性名不需要写成字符串形式';
},
fn(){ // 括号里面可以传入参数,如下fn2
return '这是一个简洁写法';
},
fn2(input){
let age = input;
return {age:age,name:this.name};
},
['zuo'+'ping']:'《潼关怀古》', // ES6允许字面量定义对象时使用表达式作为对象的 属性名 和 方法名,但要把表达式放在方括号内
[obj]:'属性名表达式如果是一个对象,默认情况下会自动将对象转为字符串[object Object]',
};