一、对象字面量的增强
1.对象字面量是什么
const person = {
age:18,
name:'zhangsan'
}
以上就是所谓的字面量表示法
2.属性和方法的简洁表示方法
a.属性的简洁表示法:
当键名和值名一样时,可以只写一个
const person = {
//age:age
age
}
b.方法的简洁表示法:
方法可以省略冒号和function关键字
const person = {
speak(){}
}
3.方括号语法
方括号语法的用法
原方法:
const prop = 'age';
const person={};
person[prop]=18;
现方法
const prop='age';
const person = {
[prop]:18
};
a.方括号中可以放什么
值或者通过计算可以得到值的表达式
const prop = 'age';
const func = ()=>'age2';
const person = {
[prop]:18,
[func()]:18,
['sex']:'male',
['s'+'ex']:'female'
}
方括号语法和点语法的区别:
- 点语法是方括号语法的特殊形式
- 属性名由数字、字母、下划线以及$构成,并且数字还不能开头时可以使用点语法(合法标识符)
- 当你的属性或方法名是合法标识符时,可以使用点语法,其他情况下使用方括号语法
二、函数参数的默认值
1.函数参数的默认值是什么
调用函数时传参了,就用传递的参数;如果没有传参,就用默认值
multiply(2,1);
multiply(2);
2.函数参数的基本用法
原方法:
const = multiply=>(a,b){
if(typeof==='undefined'){
b=1;
}
return a*b;
}
multiply(2);
multiply(2,1);
现方法:
const = multiply=>(a,b=5) a*b;
multiply(2);
multiply(2,1);
3.函数参数默认值的注意事项
默认值的生效条件
不传参数,或者明确的传递undefined作为参数,只有这两种情况下,默认值才生效
const = multiply=>(a,b=5) a*b;
multiply(2);
默认值表达式
如果默认值是表达式,默认值表达式是惰性求值的
设置默认值的小技巧
函数参数的默认值,最好从参数列表的右边开始设置
const = multiply=>(a,b=5) a*b;
multiply(2);
const = multiply=>(a=5,b) a*b;
multiply(undefined,2);//此时的undefined无法省略
4.函数参数默认值的应用
<script>
//接收很多参数时
const logUser = ({
username = 'zhangsan',
age = 0,
sex = 'male'
} = {}) => {
console.log(username, age, sex);
}
logUser();
</script>