我有以下代码:



function houseDescriptor([houseColor = 'green', shutterColors = ['red']] = []) {
    console.log(houseColor, shutterColors);
}

houseDescriptor('nbh');





为什么要控制台打印:n b

它是如何工作的?

为什么如果传递字符串我没有错误,但是如果我使用houseDescriptor(123),为什么会出现错误?

最佳答案

字符串被视为可迭代,数字则不被视为。它正在对字符串进行基于索引的解构,这就是为什么仅打印n和b的原因。

Have a look at listed iterables

关于javascript - js如何破坏函数的默认值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53115447/

10-09 15:42
查看更多