TypeScriptバージョン:
毎晩(1.9.0-dev.20160217)
コード
class Example {
get foo() {
return true;
}
baz(example: Example) {
example.foo;
}
bar(example: Example | Object) {
example.foo; // error TS2339: Property 'foo' does not exist on type 'Example | Object'.
}
}
予想される行動:
example.foo
は、どちらの方法でもエラーをスローしません。
実際の動作:
example.foo
example
がExample | Object
場合、 example
がスローされます。
error TS2339: Property 'foo' does not exist on type 'Example | Object'.
これはTypeScriptの通常の動作であり、 .foo
持たない可能性のあるものからユーザーを保護します。
これを機能させるには、タイプを.foo
を含むものに
class Example {
get foo() {
return true;
}
baz(example: Example) {
example.foo;
}
bar(example: Example | Object) {
if (example instanceof Example) {
example.foo;
}
}
}
最も参考になるコメント
これはTypeScriptの通常の動作であり、
.foo
持たない可能性のあるものからユーザーを保護します。これを機能させるには、タイプを
.foo
を含むものに