Робота з просторами імен TypeScript
Простір імен TypeScript забезпечує спосіб організації коду та керування ним у межах єдиної глобальної області. Простори імен допомагають групувати пов’язаний код разом, запобігаючи конфліктам імен і покращуючи зручність обслуговування коду. Цей посібник охоплює основи створення та використання просторів імен TypeScript із прикладами.
Що таке простори імен TypeScript?
Простори імен — це спосіб інкапсуляції коду в TypeScript. Вони дозволяють групувати пов’язані функції, класи та змінні в єдину логічну одиницю, що може бути корисним у великих проектах, щоб уникнути колізій імен і покращити організацію коду.
Створення простору імен
Щоб створити простір імен, використовуйте ключове слово namespace
, за яким слідує ім’я та блок коду. У блоці простору імен визначте функції, класи або змінні, які мають бути частиною цього простору імен.
// mathUtils.ts
namespace MathUtils {
export function add(a: number, b: number): number {
return a + b;
}
export function subtract(a: number, b: number): number {
return a - b;
}
}
У цьому прикладі простір імен MathUtils
містить дві функції, add
і subtract
, які експортуються для використання поза простором імен.
Використання простору імен
Щоб використовувати код у просторі імен, поставте перед назвою простору імен крапку та ім’я члена. Переконайтеся, що простір імен доступний у тій області, де він використовується.
// app.ts
/// <reference path="mathUtils.ts" />
const sum = MathUtils.add(5, 3);
const difference = MathUtils.subtract(5, 3);
console.log(`Sum: ${sum}`);
console.log(`Difference: ${difference}`);
У цьому прикладі на простір імен MathUtils
використовується директива з потрійною скісною рискою '<reference path="mathUtils.ts" />'
, що дозволяє отримати доступ до його функцій у файлі app.ts
.
Вкладені простори імен
Простори імен можуть бути вкладені в інші простори імен, що допомагає в подальшій організації коду. Доступ до вкладених просторів імен здійснюється шляхом об’єднання імен просторів імен крапками.
// shapes.ts
namespace Shapes {
export namespace Circle {
export function area(radius: number): number {
return Math.PI * radius * radius;
}
}
export namespace Square {
export function area(side: number): number {
return side * side;
}
}
}
У цьому прикладі простір імен Shapes
містить два вкладені простори імен: Circle
і Square
, кожна з яких має власну функцію area
.
Використання вкладених просторів імен
Щоб отримати доступ до членів вкладених просторів імен, використовуйте крапкову нотацію для ланцюжка імен просторів імен.
// app.ts
/// <reference path="shapes.ts" />
const circleArea = Shapes.Circle.area(5);
const squareArea = Shapes.Square.area(4);
console.log(`Circle Area: ${circleArea}`);
console.log(`Square Area: ${squareArea}`);
У цьому прикладі доступ до просторів імен Circle
і Square
здійснюється через простір імен Shapes
, демонструючи, як можна використовувати вкладені простори імен.
Висновок
Простір імен TypeScript є потужним інструментом для організації коду та керування ним. Використовуючи простори імен, код можна логічно згрупувати, зменшуючи ризик конфліктів імен і покращуючи технічне обслуговування. Розуміння того, як створювати та використовувати простори імен, включаючи вкладені простори імен, є важливим для ефективної розробки TypeScript.