这个!.
是在公司项目中看到的,第一次看到的时候还以为是js语法的新特性,一顿搜索引擎查文档后,才发现TypeScript中的写法,太菜了,太菜了。
TypeScript also has a special syntax for removing null and undefined from a type without doing any explicit checking. Writing ! after any expression is effectively a type assertion that the value isn’t null or undefined——简单的翻译下,TypeScript中还有一种特殊的语法叫非空断言操作符(non-null assertion operator),和?.相反,这个符号表示对象后面的属性一定不是null或undefined
具体的TypeScript代码实例:
function test(x?: number | null) { // No error console.log(x!.toFixed()); }
还想查看更多关于!.
的资料,可以点击链接进行查看。https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#non-null-assertion-operator-postfix-