TS1184: Модифікатори не можуть з’являтися тут.

TypeScript — це потужна мова програмування, яка розширює JavaScript, додаючи статичну типізацію. Це означає, що в TypeScript ви можете вказати, який тип даних має зберігати змінна, наприклад, рядок або число. Типи в TypeScript допомагають знаходити помилки на етапі компіляції, що дозволяє створювати більш надійний і підтримуваний код. Якщо ви хочете поглибити своє розуміння TypeScript або використовувати інструменти ШІ (AI tools), як-от gpteach, щоб навчитися програмувати, я настійно рекомендую підписатися на мій блог для отримання додаткових матеріалів!

Одна з основних концепцій TypeScript — це використання типів. Типи визначають структуру даних у вашій програмі. В TypeScript ви можете створювати власні типи, використовувати вбудовані типи або навіть розширювати існуючі типи. Це забезпечує покращену ясність і безпеку коду.

TS1184: Модифікатори не можуть з'являтися тут

Розуміння повідомлення про помилку TS1184: Модифікатори не можуть з'являтися тут є важливим для розробників TypeScript. Ця помилка зазвичай виникає, коли ви використовуєте модифікатори, такі як public, private або protected, в місці, де вони не дозволені, наприклад, у визначеннях типів або псевдонімах типів.

Приклад TS1184

Розглянемо наступний фрагмент коду, який викликає помилку TS1184: Модифікатори не можуть з'являтися тут:

type Person = {  
 public name: string; // Це викликає TS1184  
 age: number;  
}

У цьому прикладі ми намагаємося оголосити властивість name з модифікатором public. Однак у TypeScript псевдоніми типів та інтерфейси не підтримують модифікатори доступу. Щоб виправити цю проблему, просто видаліть модифікатор:

type Person = {  
 name: string; // Виправлений код  
 age: number;  
}

Важливо знати!

  1. Модифікатори: Це ключові слова, що контролюють видимість членів класу. В контексті типів вони не застосовуються.
  2. Псевдоніми типів і інтерфейси: Обидва визначають структуру об'єкта, але не дозволяють використовувати модифікатори доступу.

Іншим випадком, що викликає помилку TS1184: Модифікатори не можуть з'являтися тут, є спроба оголосити тип з модифікаторами для екземплярів:

interface Employee {  
 private id: number; // Це також викликає TS1184  
 name: string;  
}

Як і в попередньому прикладі, модифікатори доступу недійсні в цьому контексті. Рішення просте — просто видаліть модифікатор:

interface Employee {  
 id: number; // Виправлений код  
 name: string;  
}

Важливі моменти

  • Визначення типів та інтерфейси призначені для опису структури об'єктів без модифікаторів.
  • Завжди переконайтеся, що ваші модифікатори застосовуються тільки в визначеннях класів, а не в визначеннях типів.

Часті запитання

Q: Що таке типи в TypeScript?
A: Типи в TypeScript визначають структуру змінних, гарантуючи, що вони зберігають очікувані типи даних, такі як рядки чи числа.

Q: Чи можу я використовувати модифікатори доступу в інтерфейсах?
A: Ні, модифікатори доступу, як-от public, private або protected, не можна використовувати в інтерфейсах чи псевдонімах типів, що призводить до помилки TS1184: Модифікатори не можуть з'являтися тут.

Висновок

На завершення, помилка TS1184: Модифікатори не можуть з'являтися тут є поширеною пасткою для розробників TypeScript, особливо тих, хто переходить з мов, де правила модифікаторів відрізняються. Пам'ятайте, що модифікатори слід використовувати лише в властивостях класів, а не в визначеннях типів чи інтерфейсів. Дотримуючись цих рекомендацій, ви зможете писати більш чистий, безпомилковий код TypeScript. Якщо у вас є ще запитання про TypeScript, типи або інтерфейси, не соромтеся запитувати або заглянути в наші майбутні публікації в блозі!

Перекладено з: TS1184: Modifiers cannot appear here

Leave a Reply

Your email address will not be published. Required fields are marked *