Typescriptのclassの使い方とアクセスアクセス修飾子(public/private/protected)について解説
on 開発
Classとは
typescriptは ES6から導入されたclass
キーワードを完璧にサポートします。
new演算子を利用してinstanceして使われます。
readonly
readonlyを使用すればname
を読み込み専用に作りますので修正・削除するのが不可能です。
class People {
readonly name: string;
age: number;
constructor(readonly n: string, age: number) {
this.name = n;
this.age = age;
}
}
let kobayashi = new People('kobayashi', 30);
kobayashi.age = 20; // ok
kobayashi.name = 'jinyoung'; // error
アクセス修飾子(public/private/protected)
typescriptではアクセス修飾子があります。
public: 外部から使われる変数です。
private: 自分のClass内のみアクセス可能 protected: 継承されたクラス内でアクセス可能(継承extends
を使います。) 下記のようにmember variableを書かなくてもconstructorに書くとmember variableとして使われます。
class People {
// name: string;
// age: number;
constructor(protected name: string,public age: number) {}
}
class SoccerPeople extends People {
constructor(name: string, age: number, private speed: number) {
super(name, age);
}
}
let kobayashi = new SoccerPeople('kobayashi', 30, 15);
kobayashi.age = 20; // ok
kobayashi.name = 'jinyoung'; // error
kobayashi.speed = 20; // error