Соглашение о присвоении / получении установщика Typescript - PullRequest
2 голосов
/ 27 июня 2019

Я пришел из Java-фона и по умолчанию использовал соглашения о присвоении имен getter / setter в своих классах компонентов Typescript / Angular, знакомых мне.

getFoo()

setFoo()

Однако, похоже, это не лучшийпрактиковаться, а лучше использовать соглашение

get foo()

set foo()

Вопросы

  • Это чисто косметическое?Какие-нибудь преимущества?Я не понимаю, почему это было бы предпочтительным, так как, на мой взгляд, оно не согласуется с соглашением об именах, используемым для других методов.
  • Есть ли официальное руководство по стилю, рекомендующее эту практику?

Ответы [ 2 ]

1 голос
/ 27 июня 2019

type-script - это расширенный набор java-скриптов, и весь синтаксис языка очень похож на ECMAScript стандарт, потому что программист чувствует себя лучше при написании java-скриптов.

SET, свойство GET для TS & JS очень похоже

JS

class JSExample {
    constructor() {
        this._val = "V";
    }
    get val() {
        return this._val;
    }
    set val($v) {
        this._val = $v;
    }
}

TS

class TSExample {
    _val = "V";

    get val(): string {
        return this._val;
    }
    set val($v: string) {
        this._val = $v;
    }
}
1 голос
/ 27 июня 2019

Мы можем использовать get, set, где нам нужно реализовать некоторые ограничения при доступе к значению.

Из документации Typescript:

TypeScript поддерживает методы получения / установки как способ перехвата доступа члену объекта. Это дает вам возможность иметь более мелкозернистый контроль доступа к элементу для каждого объекта.

Пример:

class StudentMark {
    isPass: boolean;
    _mark: Mark;
    set mark(value: Mark) {
        if (value.subject1 > 35 && value.subject2 > 35&& value.subject3 > 35) { 
             this.isPass = true;
        } else {
             this.isPass = false;
        }
        this._mark = value;
    }
   get mark(): Mark {
       return this._mark;
   }
}

Здесь всякий раз, когда мы устанавливаем отметку, проход будет обновляться. Нет, нужно обновить его отдельно. При этом, тип случаев get, set будет полезен.

Суффикс get и set должен иметь одинаковое имя. И мы можем получить к нему доступ, только назвав само имя. Пример, mark из кода выше.

Для получения дополнительной информации о наборе текста наберите Документация .

...