typescript中特殊符号用法
属性或参数中使用 ?:表示该属性或参数为可选项
表明参数可选:
interface IProps {
a: string,
b?: string,
c?: number
}
判断(如果A未真,value的值为B否则为C)const value = A? B:C
属性或参数中使用 !:表示强制解析(告诉typescript编译器,这里一定有值
变量后使用 !:表示类型推断排除null、undefined
const inputValue: string = inputRef.current!.value.trim(); (表示inputRef.current一定有值)
?? 空值合并运算符
const Value: string = inputRef.current?.value??"测试". (当inputRef.current存在就继续取value值,如果value值存在就返回value,不存在就返回"测试"给Value)
|| (合并空值,一般用于防止报错,兜底使用)
JSON.parse(localStorage.getItem('todolist')||'[]');
一些注意事项:
如果定义的类型包含多种类型,实际应用的时候有时候需要指定其中一种,使用as type
types : type1 | type2 | type3 (实际使用,value: a as type1)
学到的知识
改变对象中其中一个属性的值
ListType = {A:a,B:b,C:c}
return { ...ListType, A: a1}. -----返回的对象只改变了A的值,其他都一样。
版权声明:本文为CherryReborn原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。