Variabel #
Variabel dalam TypeScript mirip dengan variabel dalam JavaScript, tetapi TypeScript menambahkan fitur tipe statis, yang memungkinkan Anda menentukan tipe data untuk variabel saat deklarasi. Ini membantu dalam penulisan kode yang lebih aman dan mencegah banyak kesalahan yang mungkin terjadi dalam kode JavaScript biasa. Berikut adalah penjelasan lebih detail mengenai variabel dalam TypeScript:
Deklarasi Variabel #
TypeScript menggunakan tiga kata kunci utama untuk mendeklarasikan variabel: let
, const
, dan var
.
-
let
: Mendeklarasikan variabel dengan cakupan blok (block-scoped). Ini adalah cara paling umum dan direkomendasikan untuk mendeklarasikan variabel di TypeScript.Contoh:
let age: number = 30; let name: string = "Alice";
age
adalah variabel bertipenumber
.name
adalah variabel bertipestring
.
-
const
: Mendeklarasikan variabel yang nilainya tidak dapat diubah setelah diinisialisasi. Variabel ini juga memiliki cakupan blok.Contoh:
const pi: number = 3.14; const greeting: string = "Hello, World!";
pi
adalah konstanta bertipenumber
.greeting
adalah konstanta bertipestring
.
-
var
: Mendeklarasikan variabel dengan cakupan fungsi (function-scoped). Penggunaanvar
tidak direkomendasikan dalam TypeScript karena sering menyebabkan perilaku yang tidak terduga dibandingkan denganlet
danconst
.Contoh:
var isAvailable: boolean = true;
isAvailable
adalah variabel bertipeboolean
.
Tipe Data Variabel #
Saat mendeklarasikan variabel di TypeScript, Anda dapat (dan seringkali sebaiknya) menetapkan tipe data secara eksplisit. Namun, jika Anda tidak menetapkan tipe, TypeScript akan menggunakan inferensi tipe untuk menentukan tipe variabel berdasarkan nilai awal yang diberikan.
Contoh dengan Tipe Eksplisit:
let isDone: boolean = false;
let total: number = 100;
let firstName: string = "John";
Contoh dengan Inferensi Tipe:
let isDone = false; // TypeScript mengasumsikan tipe boolean
let total = 100; // TypeScript mengasumsikan tipe number
let firstName = "John"; // TypeScript mengasumsikan tipe string
Variabel any
#
Tipe any
digunakan saat Anda tidak tahu atau tidak ingin menentukan tipe data tertentu untuk variabel. Penggunaan any
menonaktifkan pemeriksaan tipe pada variabel tersebut.
Contoh:
let randomValue: any = 10;
randomValue = "Hello";
randomValue = true;
randomValue
bisa menampung tipe data apa saja (number
,string
,boolean
, dll.).
Variabel union
(Tipe Gabungan)
#
TypeScript memungkinkan Anda mendeklarasikan variabel dengan beberapa tipe menggunakan union types.
Contoh:
let id: number | string;
id = 123; // valid
id = "ABC"; // valid
id
bisa berupanumber
ataustring
.
Deklarasi Variabel undefined
dan null
#
Dalam TypeScript, variabel juga dapat diberi tipe undefined
atau null
.
Contoh:
let u: undefined = undefined;
let n: null = null;
u
adalah variabel bertipeundefined
.n
adalah variabel bertipenull
.
Tipe undefined
dan null
sering digunakan dalam kombinasi dengan tipe lainnya sebagai bagian dari union types.
Contoh:
let name: string | null = null;
name = "Alice"; // valid
Variabel const
dan Immutability
#
Meskipun const
digunakan untuk mendeklarasikan variabel yang nilainya tidak bisa diubah, jika const
digunakan untuk objek atau array, properti dalam objek atau elemen dalam array masih bisa diubah.
Contoh:
const person = {
name: "Alice",
age: 30
};
person.age = 31; // Valid, meskipun person adalah const, propertinya bisa diubah.
const numbers: number[] = [1, 2, 3];
numbers.push(4); // Valid, elemen array bisa ditambahkan.
- Anda tidak bisa mengubah
person
menjadi objek baru, tetapi Anda bisa mengubah propertiage
. - Anda tidak bisa mengubah
numbers
menjadi array baru, tetapi Anda bisa menambahkan atau menghapus elemen.
Variabel dengan Tipe Lebih Kompleks #
TypeScript mendukung tipe data yang lebih kompleks seperti objek, array, tuple, dan enum. Anda dapat mendeklarasikan variabel menggunakan tipe ini dengan cara yang serupa dengan tipe data primitif.
Contoh dengan Objek:
let person: { name: string; age: number } = {
name: "Alice",
age: 30
};
Contoh dengan Array:
let numbers: number[] = [1, 2, 3];
Contoh dengan Tuple:
let tuple: [string, number] = ["Alice", 30];
Contoh dengan Enum:
enum Color {
Red,
Green,
Blue
}
let color: Color = Color.Green;
Kata Kunci let
vs var
#
let
: Memiliki cakupan blok (block scope). Ini berarti variabel yang dideklarasikan denganlet
hanya ada di dalam blok di mana ia dideklarasikan (misalnya, di dalam{ ... }
).var
: Memiliki cakupan fungsi (function scope) atau cakupan global jika dideklarasikan di luar fungsi. Ini bisa menyebabkan perilaku yang tidak diinginkan, terutama dalam loop atau kondisi.
Contoh:
for (let i = 0; i < 3; i++) {
setTimeout(() => console.log(i), 1000); // Output: 0, 1, 2
}
for (var j = 0; j < 3; j++) {
setTimeout(() => console.log(j), 1000); // Output: 3, 3, 3
}
- Dalam contoh di atas,
let
memastikan bahwa setiap iterasi memiliki nilaii
yang unik, sedangkanvar
tidak.
Kesimpulan #
Variabel dalam TypeScript adalah salah satu elemen dasar yang memberikan fleksibilitas tinggi dalam penulisan kode. Dengan dukungan untuk tipe statis, aksesibilitas yang lebih baik, dan berbagai fitur lain seperti const
dan union types, TypeScript memungkinkan Anda menulis kode yang lebih aman dan mudah dipelihara. Pemahaman yang baik tentang cara kerja variabel dalam TypeScript sangat penting untuk memanfaatkan kekuatan penuh dari bahasa ini.