unisbadri.com » Python Java Golang Typescript Kotlin Ruby Rust Dart PHP
Variabel

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 bertipe number.
    • name adalah variabel bertipe string.
  • 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 bertipe number.
    • greeting adalah konstanta bertipe string.
  • var: Mendeklarasikan variabel dengan cakupan fungsi (function-scoped). Penggunaan var tidak direkomendasikan dalam TypeScript karena sering menyebabkan perilaku yang tidak terduga dibandingkan dengan let dan const.

    Contoh:

    var isAvailable: boolean = true;
    
    • isAvailable adalah variabel bertipe boolean.

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 berupa number atau string.

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 bertipe undefined.
  • n adalah variabel bertipe null.

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 properti age.
  • 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 dengan let 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 nilai i yang unik, sedangkan var 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.

« Komentar
Konstanta »