ハック:タイプスクリプト内のプライベートクラスのアクセス
2533 ワード
私たちはプライベートクラスのメンバーにアクセスしてはいけません.しかし、時々、方法は単にまわりにありません.たとえば、単体テスト中に、正しい値をアサートするプライベートメンバーにアクセスできます.またはデバッグ中に、コンソールにプライベートプロパティをログ出力します.
タイプスクリプトには、これをする2つの方法があります.最初のオプションは、オブジェクトを
タイプスクリプトには、これをする2つの方法があります.最初のオプションは、オブジェクトを
any
にキャストすることです.このオプションの問題は、型の安全性とintellisense自動補完を行うことです.第2のオプションはintentional escape hatchです.これはバグですかこの非常に目的のために開いていたタイプスクリプトで.タイプセーフティと自動補完を維持しながら、ブラケット表記を介してプライベートメンバーへのアクセスを許可します.class Test {
public foo: string = "Foo";
private bar: string = "Bar";
public constructor() { }
}
const test = new Test();
// cast as any
console.log((test as any).bar)
// intentional escape hatch
console.log(test['bar'])
それをTypeScript Playgroundでチェックしてください.Reference
この問題について(ハック:タイプスクリプト内のプライベートクラスのアクセス), 我々は、より多くの情報をここで見つけました https://dev.to/zirkelc/hack-access-private-class-members-in-typescript-41jpテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol