javascript - js如何破坏函数的默认值?
问题描述
我有这个代码:
function houseDescriptor([houseColor = 'green', shutterColors = ['red']] = []) {
console.log(houseColor, shutterColors);
}
houseDescriptor('nbh');
为什么控制台打印:nb
它是如何工作的?
为什么如果我传递字符串我没有错误,但如果我使用 houseDescriptor(123),我得到一个错误?
解决方案
字符串被视为可迭代对象,而数字则不是。它正在对您的字符串进行基于索引的解构,这就是为什么只打印 n 和 b 的原因。
推荐阅读
- flutter - Flutter:在容器中插入“if”时,“期望一个标识符”和“期望找到')'”
- terminal - 终端无法正常显示 - “[oh-my-zsh] 检测到不安全的完成依赖目录:”
- python - 如何将表单中的数据保存在基础中?
- safari - safari 中的类名冲突
- c# - AutoMapper - 如何从源的单个属性映射整个对象?
- c# - AWS Cognito 身份验证成功,但使用 .NET Core 授权失败
- javascript - Javascript将变量分配给名称以数字开头的对象字段
- python - 是否有一个 Geopy Python 函数可以将数据框列(纬度/经度)从“度分秒”转换为“度小数”
- javascript - 有没有办法获得多个输入值?
- python - 为什么我的网络抓取没有返回任何内容?