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の感嘆符演算子とは何ですか?それはどのように機能しますか?