Typescriptのクラスのprivate, protectedメンバーは通常クラス外からアクセスできないが、obj['field名']
の書き方をすることでアクセスできる。
class SomeClass {
field: string = 'this is public.';
protected protectedField: string = 'this is protected.';
private privateField: string = 'this is private.';
constructor() {
}
}
const obj = new SomeClass();
console.log(obj.field);
console.log(obj.protectedField); // コンパイルエラー
console.log(obj.privateField); // コンパイルエラー
console.log(obj['field']);
console.log(obj['protectedField']); // コンパイルエラーにならない
console.log(obj['privateField']); // コンパイルエラーにならない
参考