Kentavr16
@Kentavr16
long cold winter

Почему в примере дублируются строки инициализации полей класса?

Вот пример из книги которую сейчас изучаю -
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;
    }
}


Вроде как смысла в дублировании никакого. Но книга вроде свежая, поэтому хочу убедиться что сакрального смысла в таком действии нет.
  • Вопрос задан
  • 36 просмотров
Решения вопроса 1
Kentavr16
@Kentavr16 Автор вопроса
long cold winter
Практического применения/причины такого синтаксиса не нашел. Скорее всего это просто "я так вижу" автора книги.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы