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의 느낌표 연산자는 무엇이며 어떻게 작동합니까?