1.变量的结合
//声明两个变量
let variable1 = '结合';
let variable2 = '2';
//写法一
let constant1 = '常量和变量的' + variable1 + '有' + 'variable2' + '种写法!';
//写法二
let constant2 = '常量和变量的${variable1}有${variable2}种写法!';
//结果
console.log(constant1); //常量和变量的结合有2种写法!
console.log(constant2); //常量和变量的结合有2种写法!
console.log(constant1===constant2); //true
2.设置默认变量
//设置默认变量
function breakfast(drink='milk',dessert='bread'){
return '早餐是${drink}和${bread}'
}
//默认变量
console.log(
breakfast(); //早餐是milk和bread
}
//参数修改变量
console.log(
breakfast(soup,sandwich); //早餐是soup和sandwich
}
3.spread (...)
let fruits = ['apple','pear'];
let foods = ['watermelon','...fruits'];
console.log(fruits); // ['apple','pear']
console.log(...fruits); // apple pear
console.log(foods); // ['watermelon','apple','pear']
function breakfast1(dessert,drink,...foods){
console.log(dessert,drink,foods);
}
function breakfast2(dessert,drink,...foods){
console.log(dessert,drink,...foods);
}
//输出多个参数,除了前两个之外全部赋给foods作为数组
//如果需要将foods数组拆开,输出时也加上...即可
breakfast1('bread','milk','apple','pear'); // bread milk ['apple','pear']
breakfast2('bread','milk','apple','pear'); // bread milk apple pear
4.数组赋值
let food = {};
let drink = 'hot drink';
food.dessert = 'bread';
food.hot drink = 'soup';
console.log(food); //error --- hot drink中间有空格,不能直接当属性
//属性名可以用变量代替
food[drink] = 'milk';
console.log(food); //Object {dessert :'hot drink',hot drink:'milk'}
food['hot drink'] = 'coffee';
console.log(food); //Object {dessert :'hot drink',hot drink:'coffee'}
5.判断两个值是否相等
console.log(+0 == -0); //true
console.log(+0 === -0); //true
console.log(NaN == NaN ); //false
console.log(NaN ==NaN ); //false
Object.is(NaN,NaN); //true
Object.is(+0,-0); //false
6.Object.getPrototypeOf()
let breakfast = {
getDrink() {
return 'milk';
}
}
let dinner = {
getDrink() {
return 'soup';
}
}
let sunday = Object.create(breakfast);
console.log(sunday.getDrink()); // milk
console.log(Object.getPrototypeOf(sunday) === breakfast); // true
//使用Object.setPrototypeOf修改prototype
Object.setPrototypeOf(sunday,dinner);
console.log(sunday.getDrink()); // soup
console.log(Object.getPrototypeOf(sunday) === dinner); // true
7.proto
let breakfast = {
getDrink() {
return 'milk';
}
}
let dinner = {
getDrink() {
return 'soup';
}
}
//使用__proto__设置prototype
let sunday = {
__proto__:breakfast;
}
console.log(sunday.getDrink()); // milk
console.log(Object.getPrototypeOf(sunday) === breakfast); // true
sunday.__proto__ = dinner; //使用__proto__修改prototype
console.log(sunday.getDrink()); // soup
console.log(Object.getPrototypeOf(sunday) === dinner); // true
8.super
let breakfast = {
getDrink() {
return 'milk';
}
}
//使用super调用prototype的方法
let sunday = {
__proto__:breakfast,
getDrink() {
return super.getDrink() + 'soup';
}
}
console.log(sunday.getDrink()); // milk soup
9.Map
let food = new Map();
let fruit ={} , cook = function() {} , dessert = '甜点' ;
food.set(fruit,'apple');
food.set(cook,'fork');
food.set(dessert,'hamburger');
console.log(food); //Map{Object {} => 'apple',function function => 'fork', '甜点' => 'hamburger'}
console.log(food,size); //3
console.log(food.get(fruit)); apple
console.log(food.get(cook)); //fork
food.delete(dessert);
console.log(food.has(dessert)); //false
food.forEach((value,key) => {
console.log('${key} = ${value}'); //[object Object] =apple function cook() {} =fork
})
food.clear();
console.log(food); //Map{}

console效果图
网友评论