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的值,其他都一样。
-
-