TypeScript - typy podstawowe

Wyróżniony
1 komentarz TypeScript
TypeScript posiada opcjonalne statystyczne typowanie. Ma to swoje minusy (konieczność pisania sporej ilości kodu z informacjami na temat deklarowanych typów) ale także sporo zalet (IDE jest w stanie przyśpieszyć naszą pracę dzięki podpowiedziom, możemy wykryć wiele błędów już na poziomie kompilacji).

Typy Podstawowe

Boolean

Najbardziej podstawowy typ danych. Reprezentuje wartość logiczną true lub false.
let  isDone: boolean = true;

Number

Podobnie jak w JavaScrip, wszystkie liczby w TypeScript są wartościami zmiennoprzecinkowymi. Oprócz liter heksadecymalnych i dziesiętnych, TypeScript obsługuje także literały binarne i ósemkowe wprowadzone w ECMAScript 2015.
let decimal: number = 6;
let hex: number = 0xf00d;
let binary: number = 0b1010;
let octal: number = 0o744;

String

Ciąg znaków - podobnie jak JavaScript, TypeScript używa również cudzysłowów (") lub pojedynczych cudzysłowów (') do otaczania ciągów danych.
let color: string = "blue";
color = 'red';
Można używać także template string, które mogą obejmować wiele wierszy i mieć wyrażenia osadzone. Łańcuchy te są otoczone znakiem backtick/backquote (`), a wyrażenia osadzone mają postać ${wyrażenie}. Przykład:
let fullName: string ='Bob Bobbington';
let age: number = 37;
let sentence: string = `Hello, my name is ${fullName}. 
I'll be ${age + 1} years old next month.`;
Jest to ekwiwalent do zapisu:
let sentence: string = "Hello, my name is " + fullName + ".\n\n" +
    "I'll be " + (age + 1) + " years old next month.";

Array

TypeScript, podobnie jak JavaScript, pozwala pracować z tablicami wartości. Typy tablic można zapisać na jeden z dwóch sposobów. W pierwszym używamy typu elementów, po których następuje []:
let list: number[] = [1, 2, 3];
Drugi sposób wykorzystuje generyczny typ tablicy, Array :
let list: Array = [1, 2, 3];

Tuple

Tuple to tablica z ustaloną liczbą elementów i znanym type ale wartości nie muszą być tego samego typu. Np. można zapisać wartość jako parę ciągów znaków i liczb:
// Deklaracja typu tuple
let x: [string, number];
// Prawidłowa Inicjalizacja
x = ["hello", 10]; // OK
// Nieprawidłowa inicjalizacja
x = [10, "hello"]; // Error

Enum

Jest to zbiór nazwanych wartości. W TS jest to zbiór wartości liczbowych.
enum Color {
   Red, 
   Green,
   Blue
}
let c: Color = Color.Green; //1
Domyślnie elementy numerowane są od zera ale można także samemu ustawić wartość początkową, kolejne elementy będą +1.
enum Color {
   Red = 1, 
   Green, 
   Blue
}
let colorName: string = Color[2]; 
alert(colorName); // Zostanie wyświetlone 'Green' jako wartość 2

Any

Być może będziemy musieli opisać typ zmiennych, których nie znamy podczas pisania aplikacji, np. dane otrzymane od użytkownika lub biblioteki innej firmy. W takich przypadkach chcemy zrezygnować z sprawdzania typów i pozwolić, aby wartości przechodziły przez kontrole w czasie kompilacji. Aby to zrobić, oznaczamy je dowolnym typem:
let notSure: any = 4;
notSure = "maybe a string instead";
notSure = false; // okay, definitely a boolean

Void

Void oznacza brak wartości. Często wykorzystywany do oznaczania funkcji które nic nie zwracają:
function warnUser(): void {
    alert("Komunikat błędu");
}
Deklarowanie zmiennych typu void nie jest użyteczne, ponieważ można do nich przypisać tylko undefined lub wartość null:
let unusable: void = undefined;

Null i Undefined

W TypeScript zarówno undefined, jak i null mają odpowiednio własne typy o nazwach undefined i null. Podobnie jak void, nie są one bardzo przydatne:
let u: undefined = undefined;
let n: null = null;
Domyślnie null i undefined są podtypami wszystkich pozostałych typów. Oznacza to, że można przypisać wartość null i undefined do np. do typu number.

Never

Typ never reprezentuje typy wartości, które nigdy nie występują. Na przykład, never jest typem zwracanym dla wyrażenia funkcji lub wyrażenia funkcji strzałki, która zawsze zgłasza wyjątek lub która nigdy nic nie zwraca. Typ never jest podtypem i można go przypisać do każdego typu. Niektóre przykłady funkcji zwracających never:
function error(message: string): never {
    throw new Error(message);
}
function fail() {
    return error("Coś poszło nie tak");
}
Więcej informacji: Dokumentacja TypeScript Type of Web - kurs TypeScript
(0 głosów)
Czytany 25 razy

1 komentarz

Skomentuj

Upewnij się, że zostały wprowadzone wszystkie wymagane informacje oznaczone gwiazdką (*). Kod HTML jest niedozwolony.