Здесь показаны различия между двумя версиями данной страницы.
| Следующая версия | Предыдущая версия | ||
|
typescript:types:never [2023/01/29 20:32] werwolf создано |
typescript:types:never [2023/07/26 16:50] (текущий) werwolf |
||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | ====Never примитивный тип==== | + | Never примитивный тип¶ Примитивный типа данных Never служит для указания того, что какие-либо операции никогда не будут выполнены. |
| - | Примитивный типа данных Never служит для указания того, что какие-либо операции никогда не будут выполнены. | + | |
| Never обозначается ключевым словом never и так же, как и void, не имеет явных значений. | Never обозначается ключевым словом never и так же, как и void, не имеет явных значений. | ||
| Строка 31: | Строка 30: | ||
| TypeSystem.never = TypeSystem.never; // Ok | TypeSystem.never = TypeSystem.never; // Ok | ||
| </code> | </code> | ||
| + | |||
| Так как типу never нельзя присвоить значение, отличное от самого типа never, единственным местом, в котором его может использовать разработчик, является аннотация возвращаемого из функции или метода значения, с одной оговоркой. Тип never можно указать только той функции, из которой программа действительно никогда не сможет выйти. | Так как типу never нельзя присвоить значение, отличное от самого типа never, единственным местом, в котором его может использовать разработчик, является аннотация возвращаемого из функции или метода значения, с одной оговоркой. Тип never можно указать только той функции, из которой программа действительно никогда не сможет выйти. | ||
| Строка 44: | Строка 44: | ||
| } | } | ||
| </code> | </code> | ||
| + | |||
| Вывод типов определит принадлежность возвращаемого функцией значения к типу never, только если он указан в аннотации возвращаемого типа явно. | Вывод типов определит принадлежность возвращаемого функцией значения к типу never, только если он указан в аннотации возвращаемого типа явно. | ||
| Строка 58: | Строка 59: | ||
| let identifier = error(); // let identifier: never | let identifier = error(); // let identifier: never | ||
| let identifier = action(); // let identifier: never | let identifier = action(); // let identifier: never | ||
| + | |||
| </code> | </code> | ||
| Строка 73: | Строка 75: | ||
| } | } | ||
| </code> | </code> | ||
| + | |||
| Тип never является уникальным для TypeScript. В JavaScript подобного типа не существует. | Тип never является уникальным для TypeScript. В JavaScript подобного типа не существует. | ||
| + | |||
| + | |||