Skip to content

Commit

Permalink
Update TypeScript.md
Browse files Browse the repository at this point in the history
  • Loading branch information
Max-Starling authored Nov 5, 2023
1 parent b49a982 commit 66b0d97
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions TypeScript.md
Original file line number Diff line number Diff line change
Expand Up @@ -174,6 +174,14 @@ env.OS /* ошибка TS: `Property 'OS' does not exist on type '{}'`,
нет подсказок, какие свойства есть в объекте, но при этом значение `win32` возвращается
*/

// попытка обмануть компилятор тоже ни к чему не приведёт
env['OS'] /* ошибка TS: `Element implicitly has an 'any' type because expression of type '"OS"' can't be used to index type '{}'.
Property 'OS' does not exist on type '{}'.` */

// единсвенный способ избежать ошибки, отключить проверку следующей строки при помощи директивы `@ts-ignore`
// @ts-ignore
env.OS // 'win32' без ошибки TS

// тот же самый трюк с функцией, возвращающей `{}`
const getUserData = (): {} => ({ email: '[email protected]' });
const user = getUserData();
Expand Down

0 comments on commit 66b0d97

Please sign in to comment.