В javascript es6 у нас есть классы, где мы можем сделать что-то вроде этого:
class Rectangle {
constructor(height, width) {
this.height = height;
this.width = width;
}
getArea() {
return this.height * this.width
}
static someStaticMethod() {
// does some utility or something
}
}
Это примерно просто синтаксический сахар для следующего старого кода es5:
function Rectangle() {
this.height = height;
this.width = width;
}
Rectangle.prototype.getArea = function() {
return this.height * this.width
}
Rectangle.someStaticMethod = function() {
// does some utility or something
}
ВКласс es6 кажется достаточно простым для обозначения следующего:
Rectangle
- это класс getArea
- это метод экземпляра someStaticMethod
- это класс или статический метод
Я преподаю класс попрототипы и классы объектов, поэтому я хочу получить правильное словесное выражение для вышеизложенного.Но дополнительно ...
В контексте es5 JS, что выше классифицируется как?Ниже моя попытка:
Rectangle
- это функция конструктора getArea
- это метод-прототип someStaticMethod
- это метод конструктора
Я не совсем уверен, должны ли они называться в es5 так же, как в es6, или если имена у меня естьданы они совершенно точно.