相关疑难解决方法(0)

在ES6中作为参数传递NULL时,在提供一个参数时不使用默认参数

是否有一个已知的原因,为什么在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)

javascript optional-parameters ecmascript-6

46
推荐指数
2
解决办法
1万
查看次数

使用默认参数解析falsey和null

我试图了解如何使用默认参数对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)

javascript ecmascript-6

16
推荐指数
1
解决办法
8631
查看次数