Bekerja dengan Namespace TypeScript
Ruang nama TypeScript menyediakan cara untuk mengatur dan mengelola kode dalam satu cakupan global. Ruang nama membantu dalam mengelompokkan kode terkait, mencegah konflik penamaan, dan meningkatkan kemudahan pemeliharaan kode. Panduan ini membahas dasar-dasar pembuatan dan penggunaan ruang nama TypeScript beserta contohnya.
Apa itu Namespace TypeScript?
Ruang nama adalah cara untuk merangkum kode dalam TypeScript. Ruang nama memungkinkan pengelompokan fungsi, kelas, dan variabel terkait ke dalam satu unit logis, yang dapat berguna dalam proyek besar untuk menghindari tabrakan penamaan dan meningkatkan pengorganisasian kode.
Membuat Namespace
Untuk membuat namespace, gunakan kata kunci namespace
diikuti dengan nama dan blok kode. Di dalam blok namespace, tentukan fungsi, kelas, atau variabel yang harus menjadi bagian dari namespace tersebut.
// 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;
}
}
Dalam contoh ini, namespace MathUtils
berisi dua fungsi, add
dan subtract
, yang keduanya diekspor untuk digunakan di luar namespace.
Menggunakan Namespace
Untuk menggunakan kode di dalam namespace, awali nama namespace diikuti dengan titik dan nama anggota. Pastikan namespace tersedia dalam cakupan tempat namespace tersebut digunakan.
// 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}`);
Dalam contoh ini, namespace MathUtils
direferensikan menggunakan direktif tiga garis miring '<reference path="mathUtils.ts" />'
, yang memungkinkan akses ke fungsinya dalam file app.ts
.
Ruang Nama Bersarang
Ruang nama dapat disarangkan di dalam ruang nama lain, yang membantu dalam pengorganisasian kode lebih lanjut. Ruang nama yang disarangkan diakses dengan merangkai nama ruang nama dengan titik.
// 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;
}
}
}
Dalam contoh ini, namespace Shapes
berisi dua namespace bersarang: Circle
dan Square
, masing-masing dengan fungsi area
sendiri.
Menggunakan Namespace Bersarang
Untuk mengakses anggota namespace yang bersarang, gunakan notasi titik untuk merangkai nama namespace.
// 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}`);
Dalam contoh ini, namespace Circle
dan Square
diakses melalui namespace Shapes
, yang menunjukkan bagaimana namespace bersarang dapat dimanfaatkan.
Kesimpulan
Namespace TypeScript merupakan alat yang ampuh untuk mengatur dan mengelola kode. Dengan menggunakan namespace, kode dapat dikelompokkan secara logis, sehingga mengurangi risiko konflik penamaan dan meningkatkan kemudahan perawatan. Memahami cara membuat dan menggunakan namespace, termasuk namespace bersarang, sangat penting untuk pengembangan TypeScript yang efektif.