任何原始值或对象都可以用作默认参数值。 首先,使用 number, string, boolean,object, array和null
作为默认值来设置参数。
const defaultNumber = (number = 42) => console.log(number)
const defaultString = (string = ‘Shark‘) => console.log(string)
const defaultBoolean = (boolean = true) => console.log(boolean)
const defaultObject = (object = { id: 7 }) => console.log(object)
const defaultArray = (array = [1, 2, 3]) => console.log(array)
const defaultNull = (nullValue = null) => console.log(nullValue)
在不带参数的情况下调用这些函数时,它们都将使用默认值:
defaultNumber() // 42
defaultString() // "Shark"
defaultBoolean() // true
defaultObject() // {id: 7}
defaultArray() // (3) [1, 2, 3]
defaultNull() // null
注意,在默认参数中创建的任何对象都将在每次调用函数时创建。默认参数的一个常见用例是使用这种行为从对象中获取值。如果我们试图从一个不存在的对象中解构或访问一个值,它将抛出一个错误。但是,如果默认参数是一个空对象,那么它只会给出undefined
的值,而不会抛出错误。
function settings(options = {}) {
const { theme, debug } = options
// Do something with settings
}
这样避免因解构不存在的对象而导致的错误。
现在我们已经看到了默认参数如何与不同的数据类型一起工作,下面我们来看看多个默认参数如何协同工作。