typescript - 有人可以向我解释一下 Typescript 中这个表达式的结果/想法吗?
问题描述
谁能向我解释这个表达(详细)?它有什么作用?是什么!!
意思?
const foo = useState(props.index ? !!props.formikContext.values.foobar?.[props.index]?.foofoo: false);
解决方案
忘记 useState 函数,只关注表达式。
let result = props.index ? !!props.formikContext.values.foobar?.
[props.index]?.foofoo: false;
表示如果 props.index 不为 null/0/false/undefined,则结果等于
!!props.formikContext.values.foobar?.[props.index]?.foofoo.
!可以将数据转换为布尔类型并将其反转。
!!可以将数据转换为布尔类型,但不能反转。
let a = 0;
let b = !a;
let c = !!a;
console.log(b, c); // b equal true, c equal false
? 在 typescript 中使用意味着此属性是可选的。
let data: {a?: string, b: string} = {b: "abc"};
// now a is optional ,if we want get length of a.
let len = data.a?.length;
推荐阅读
- python - Python Array To Csv,按字段值对 CSV 文件中的数据进行分组并保存 csv
- c# - Xamarin Android Listview ClickEvent 不起作用
- flutter - 如何在颤动中动态降低底片高度?
- reactjs - 如何在打字稿中使用 useEffect 和 forwardRef?
- python - 如何从以下模型中获取混淆矩阵?
- vbscript - 如何在 vbscript 中静默运行 exe
- swift - 在 Swift 中打开更多导航选项卡
- asp.net - 如何发布仅更改部分视图模型的视图模型
- algorithm - 比较使用不同相同功能的两种算法
- python - 如何按特定索引对列表进行排序