В основному something || (something = {}) дозволяє анонімній функції function(something) {}add stuff to an existing object (something) або start a new object then add stuff to that object (|| (something = {})). Це означає, що ви можете мати два таких блоки, розділені деякою межею виконання:
Це зазвичай використовується в JavaScript, щоб переконатися, що матеріал не просочується в глобальний простір імен. З модулями на основі файлів вам не потрібно турбуватися про це, але шаблон все ще корисний для logical grouping купи функцій. Тому TypeScript надає ключове слово namespace для групування, наприклад:
Ключове слово namespace генерує той самий JavaScript, який ми бачили раніше:
Варто зауважити, що простори імен можуть бути вкладеними, тому ви можете робити такі речі, як namespace Utility.Messaging, щоб вкладати простір імен Messaging у Utility.
Для більшості проектів ми рекомендуємо використовувати зовнішні модулі та namespace для швидких демонстрацій і перенесення старого коду JavaScript.