Вот пример из книги которую сейчас изучаю -
class Product {
constructor(public name: string, public unitPrice:
number) {
this.name = name;
this.unitPrice = unitPrice;
}
getDiscountedPrice(discount: number): number {
return this.unitPrice - discount;
}
}
Зачем в теле конструктора класса
this.name = name;
this.unitPrice = unitPrice;
?
Ведь в книге явно указывают что модификаторы private/public сами создадут соответствующее поле в классе. В тайпскрипт-песочнице этот код переводят в джаваскрипт как
"use strict";
class Product {
constructor(name, unitPrice) {
this.name = name;
this.unitPrice = unitPrice;
this.name = name;
this.unitPrice = unitPrice;
}
getDiscountedPrice(discount) {
return this.unitPrice - discount;
}
}
Вроде как смысла в дублировании никакого. Но книга вроде свежая, поэтому хочу убедиться что сакрального смысла в таком действии нет.