解构参数 - Destructured Parameters
'use strict';
function breakfast(dessert,drink,{location,resurant}={}) {
console.log(dessert,drink,location,resurant);
}
breakfast("cake","milk",{location:"云南",resurant:"小胡胡"});
//cake milk 云南 小胡胡
.函数的名字-name属性
function breakfast () {
}
console.log(breakfast.name);//breakfast
let breakfast = function() {
}
console.log(breakfast.name);//breakfast
let breakfast = function superBreakfast() {
}
console.log(breakfast.name);//superBreakfast
箭头函数
let breakfast = dessert => dessert;
//相当于下面这段代码
var breakfast = function breakfast(dessert) {
return dessert;
}
//多参数
let breakfast = (dessert,drink) => dessert+drink;
//相当于下面这段代码
var breakfast = function breakfast(dessert,drink) {
return dessert+drink;
}
//如果函数不是简单的返回参数,具体执行写在大括号中
let breakfast = (dessert,drink) => {};
对象表达式
let dessert = "cake",drink = "milk";
let food = {
dessert: dessert,
drink: drink
}
console.log(food);//{ dessert: 'cake', drink: 'milk' }
let dessert = "cake",drink = "milk";
let food = {
dessert,
drink,
breakfast() {
}
}
console.log(food);
//{ dessert: 'cake',
// drink: 'milk',
// breakfast: [Function: breakfast] }
对象属性名
let food = {};
food.dessert = "cake";
console.log(food);//{ dessert: 'cake' }
let food = {};
food.dessert = "cake";
food.hot drink = "tea";//报错 Unexpected identifier
console.log(food);
//那如果我们想写入的属性中带有空格
//方法一:
let food = {};
food.dessert = "cake";
food['hot drink'] = "tea";
console.log(food);
方法二:
let food = {};
var drink = 'hot drink';
food.dessert = "cake";
food[drink] = "tea";
console.log(food);
对比两个值是否相等
在对比值是否相等的情况下我们会遇到上面这种情况,那我们该怎么办嘞?
将一个对象中的属性复制到另一个对象中去
let breakfast = {};
Object.assign(
breakfast,
{drink: 'bear'}
);
console.log(breakfast); //{ drink: 'bear' }
设置对象的设置对象的 prototype - Object.setPrototypeOf()
let breakfast = {
getDrink(){
return "tea";
}
};
let dinner = {
getDrink(){
return "bear";
}
};
let sunday = Object.create(breakfast);
console.log(sunday.getDrink())//tea
console.log(Object.getPrototypeOf(sunday) === breakfast);//true
Object.setPrototypeOf(sunday,dinner);
console.log(sunday.getDrink());//bear
console.log(Object.getPrototypeOf(sunday) === dinner);//true
proto
let breakfast = {
getDrink(){
return "tea";
}
};
let dinner = {
getDrink(){
return "bear";
}
};
let sunday = {
__proto__:breakfast
};
console.log(sunday.getDrink());//tea
console.log(Object.getPrototypeOf(sunday) === breakfast);//true
sunday.__proto__ = dinner;
console.log(sunday.getDrink());//bear
console.log(Object.getPrototypeOf(sunday) === dinner);//true
super
let breakfast = {
getDrink(){
return "tea";
}
};
let dinner = {
getDrink(){
return "bear";
}
};
let sunday = {
__proto__:breakfast,
getDrink(){
return super.getDrink() +"和"+ "milk";
}
};
console.log(sunday.getDrink());