是否有一个已知的原因,为什么在null提供一个参数时,作为ES6中的参数传入时不使用默认参数?
function sayHello(name = "World") {
console.log("Hello, " + name + "!");
}
sayHello("Jim"); // Hello, Jim!
sayHello(undefined); // Hello, World!
sayHello(null); // Hello, null!
Run Code Online (Sandbox Code Playgroud) 我试图了解如何使用默认参数对false值和null值进行解构.以下是我跑过的一些例子:
// #1
const person = { email: 'a@example.com' }
const { email = '' } = person
// email is 'a@example.com'
// #2
const person = { email: '' }
const { email = '' } = person
// email is ''
// #3
const person = { email: false }
const { email = '' } = person
// email is boolean false. why?!
// #4
const person = { email: null }
const { email = '' …Run Code Online (Sandbox Code Playgroud)