Разница между стандартным и явно заданным конструктором - PullRequest
0 голосов
/ 16 декабря 2018

Я не знаю, использовал ли я правильные термины в названии, но есть кое-что, с чем я недавно столкнулся в TypeScript, и я не могу понять, в чем разница между ними:

class Test {
    constructor(private name: string) { };
     getName() {
        return `${this.name}`;
    };
};

class Test2 {
    private name: string;
    constructor(name) {
        this.name = name;
    };
    getName() {
        return `${this.name}`
    };
};

let t = new Test('test1');
let t2 = new Test2('test2');
console.log(`t.getName() => ${t.getName()} \nt2.getName() => ${t2.getName()}`); //t.getName() => test1 t2.getName() => test2

Из того, что я могу подумать, единственной причиной использования последнего синтаксиса может быть случай, когда мы хотим присвоить значение переменной с другим именем в нашем классе.Есть ли другие плюсы или минусы в использовании инициализации?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...