TypeScript 2.7: перевірки ініціалізації властивостей класу

1 хв читання

Впровадження прапорця strictPropertyInitialization у TypeScript 2.7 стало важливим кроком для підвищення надійності коду. Для розробників це означає суворіший контроль за станом об'єктів, що дозволяє уникнути помилок типу undefined під час виконання програми, коли властивості класу залишаються неініціалізованими.

Реліз TypeScript 2.7, що відбувся 31 січня 2018 року, додав механізм перевірки ініціалізації властивостей класу. Тепер компілятор вимагає, щоб кожна властивість класу була ініціалізована або безпосередньо в оголошенні, або в конструкторі. Це усуває цілий клас потенційних помилок, пов'язаних із доступом до неініціалізованих полів.

Рекомендації для впровадження:

  • Активуйте strictPropertyInitialization у файлі tsconfig.json у секції compilerOptions.
  • Перевірте існуючі класи на наявність властивостей, які не мають початкових значень.
  • Використовуйте оператор визначення ініціалізації (!) лише у випадках, коли ви впевнені, що властивість буде ініціалізована іншим шляхом, наприклад, через фреймворк або бібліотеку впровадження залежностей.

Використані джерела

  1. devblogs.microsoft.com (devblogs.microsoft.com)