我有这个代码:
function houseDescriptor([houseColor = 'green', shutterColors = ['red']] = []) {
console.log(houseColor, shutterColors);
}
houseDescriptor('nbh');
为什么控制台打印:n b
它是如何工作的?
为什么如果我传递字符串我没有错误,但是如果我使用 houseDescriptor(123),我会出错?
最佳答案
字符串被视为可迭代对象,而数字则不是。它对您的字符串进行基于索引的解构,这就是为什么只打印 n 和 b。
关于javascript - js如何破坏函数的默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53115447/