Использование оператора no-null в Angular / Typescript - хорошая или плохая практика? - PullRequest
0 голосов
/ 22 апреля 2020

Сегодня я заметил, что мог бы использовать ненулевой оператор, чтобы избежать множества проверок в некоторых методах в angular, например:

public showAlertHeader(account: Account): boolean {
    return account!.brownfieldState === this.PENDING || !(account!.address && account!.address!.id);
}

Но тогда мой tslint пожаловался на использование этого, что я могу настроить, чтобы не жаловаться, но мне стало любопытно узнать, является ли это хорошей или плохой практикой вообще ...

1 Ответ

0 голосов
/ 22 апреля 2020

Я думаю, что лучшей практикой является использование необязательного оператора в настоящее время Вот упрощенный пример

function isAdmin(user: { admin: boolean } | undefined): boolean {
    return user?.admin === true;
}

function isAdmin2(user: { admin: boolean } | undefined): boolean {
    return user!.admin === true;
}

console.log(isAdmin({admin: false})); // false
console.log(isAdmin({admin: true})); // true
console.log(isAdmin(undefined)); // false

console.log(isAdmin2({admin: false})); // false
console.log(isAdmin2({admin: true})); // true
console.log(isAdmin2(undefined)); // Runtime Error!

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