作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何使第二个参数可选并使用解构?
到目前为止这是可行的,但有点难看。还有更好的吗?
const fn = (required, optional = {id: undefined, name: undefined}) => {
const {id, name} = optional
console.log(required, id, name)
}
fn('hello') // hello undefined undefined
fn('hello', {id: 'world'}) // hello world undefined
fn('hello', {name: 'world'}) // hello undefined world
我为 typescript 找到了这个,Optional deconstruction function parameter ,但我不认为我可以在没有 TS 的情况下应用该解决方案。
最佳答案
与您发现的 typescript 解决方案相同的方法也适用于 ES6:
function fn(required, {id, name} = {}) {
console.log(required, id, name)
}
使用解构表达式作为默认参数的目标,而不是可选
。此外,我还放弃了使用 undefined
的显式属性初始化,只需使用一个空对象作为默认值即可。
关于javascript - 带解构的可选参数对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49221957/
我正在尝试用 Swift 编写这段 JavaScript 代码:k_combinations 到目前为止,我在 Swift 中有这个: import Foundation import Cocoa e
我是一名优秀的程序员,十分优秀!