基本的な言葉遣い
let log = console.log;
class people {
constructor(name, age) {
this.name = name;
this.age = age;
}
}
let aa = new people('张三', '22');
log(aa);
- クラスは、データ型の関数であり、
- クラス自体は、コンストラクタを指しています
- この方法は、分離前のクラスコンマを必要としません。
- クラス、すべての方法が列挙されません
constructor
- すべてのクラスは、コンストラクタに属しコンストラクタメソッドを持っています。
- この新しいオブジェクトは、メソッドを実行するとき
- デフォルトコンストラクタは、(本)オブジェクトのインスタンスを返します
クラス式
let log = console.log;
let PeopleClass= class people {
getName(){
return people.name;
}
}
let aa = new PeopleClass();
log(aa.getName());
- ここでは、クラスのクラス名はPeopleClassではなく、その人であります
- クラス名の内部で使用されていない場合は、クラス名を省略することができます
クラスgetterとsetter
let log = console.log;
class people {
get name() {
log("小明");
}
set name(res) {
log("设置名字叫:" + res);
}
}
let aa = new people();
aa.name = 123;
aa.name;
静的メソッドやクラスの静的プロパティ
- 静的な属性の例としては、プロパティを継承していない、同じトークンは、インスタンスのプロパティと呼ばれるものがあるでしょう
- 現在、ES6のみ静的メソッド、静的プロパティなし
let log = console.log;
class people {
static sayName() {
log("小明");
}
sayAge(){
log("22")
}
}
let aa = new people();
log(aa);
aa.sayAge()
people.sayName();
new.targetプロパティ
- このプロパティは、どのような手段によって呼び出され、現在のコンストラクタを取得するために使用されます
- サブクラスは親クラスを継承する場合、コンストラクタサブクラスを呼び出すときに、親クラスのnew.targetの属性は、サブクラスのクラス名を返します。
let log = console.log;
class people {
constructor() {
log(new.target)
log(new.target === people)
}
}
class Speople extends people {
constructor() {
super()
}
}
let aa = new Speople();
let bb = new people();
- この機能を使用して、あなただけと呼ばれる新しいコマンドを使用することができますクラスを記述することができます
- また共感のに対し、独立して使用することができない、継承しなければならないクラスを使用することができます書くことができます。