gpt4 book ai didi

javascript - 我可以在 if 语句中以某种方式使用解构吗?

转载 作者:行者123 更新时间:2023-11-30 08:24:34 25 4
gpt4 key购买 nike

有没有办法让我做这样的事情?

if({color, size, shape} = this.props){
console.log('Received all props!');
} else {
console.log('There are some missing props');
}

我想知道我是否通过组件的 Prop 收到了所有需要的数据,如果没有,则抛出错误。

它用于创建可重用的组件。

最佳答案

您可以使用默认值:

function missing(prop) {
throw new TypeError(`there is a missing ${prop} property`);
}


try {
const {
color = missing("color"),
size = missing("size"),
shape = missing("shape"),
} = this.props;
// use color, size, shape here
console.log("Received all props!");
} catch(err) {
console.log(err.message);
}

要使用 if 语句,不,您不能使用解构来生成是否所有属性都存在的 bool 值。宁愿做一些平常的事

if ("color" in this.props && "size" in this.props && "shape" in this.props) {
console.log('Received all props!');
} else {
console.log('There are some missing props');
}

(或者更好的是,检查您期望的值的类型)

关于javascript - 我可以在 if 语句中以某种方式使用解构吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47744380/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com