在打字稿中,什么是!解除引用会员时(感叹号/爆炸)运营商?
在查看tslint规则的源代码时,我遇到了以下语句:
if (node.parent!.kind === ts.SyntaxKind.ObjectLiteralExpression) { return;}
注意!
操作员之后node.parent
。有趣!
我首先尝试使用我当前安装的TS版本(1.5.3)在本地编译该文件。结果错误指向爆炸的确切位置:
$ tsc --noImplicitAny memberAccessRule.ts noPublicModifierRule.ts(57,24): error TS1005: ')' expected.
接下来我升级到最新的TS(2.1.6),编译它没有问题。所以它似乎是TS 2.x的特征。但是,转化完全忽略了爆炸,导致以下JS:
if (node.parent.kind === ts.SyntaxKind.ObjectLiteralExpression) { return;}
我的Google fu到目前为止都没有让我失望。
什么是TS的感叹号操作符,它是如何工作的?
有只小跳蛙
largeQ
慕田峪4524236