TypeScript, JavaScript dili için bir superset'tir. Bu anlamda, TypeScript, JavaScript'den daha fazla özellik ve araç sunar. Bu özellikler arasında tip tanımlama, sınıf tanımlama, arayüz tanımlama, generics, decorators, union types, type alias, enum ve async/await gibi özellikler bulunur.
TypeScript ile yazılan kodlar, JavaScript tarafından çalıştırılabilir ancak TypeScript tarafından derlenir. Bu, kodun daha güvenli ve hata-az olmasını sağlar. Ayrıca, TypeScript ile yazılan kodlar, daha okunaklı ve anlaşılır hale gelir.
Bu makalede, TypeScript'in çeşitli özelliklerini gösteren örnek kodlar verilecektir. Örnekler arasında, tip tanımlama, sınıf tanımlama, arayüz tanımlama, generics, decorators, union types, type alias, enum ve async/await gibi özellikler yer alacaktır. Bu örnekler, TypeScript'in nasıl kullanılabileceğini ve özelliklerinin nasıl işlediğini gösterecektir.
let sayi: number = 5;Bir sınıf tanımlama örneği:
console.log(sayi);
Bir arayüz tanımlama örneği:class Kisi {
ad: string;
soyad: string;
constructor(ad: string, soyad: string) {
this.ad = ad;
this.soyad = soyad;
}
isim(): string {
return this.ad + " " + this.soyad;
}
}
let kisi = new Kisi("muhammed", "d");
console.log(kisi.isim());
interface Araba {Generics (Genel Tipler):
marka: string;
model: string;
hiz(): number;
}
class Mercedes implements Araba {
marka: string = "Mercedes";
model: string = "S-Class";
hiz(): number {
return 250;
}
}
let araba: Araba = new Mercedes();
console.log(araba.marka + " " + araba.model + " hızı: " + araba.hiz() + " km/s");
function identity<T>(arg: T): T {
return arg;
}
let output = identity<string>("myString");
console.log(output);
Decorators:
function logClass(target: any) {
console.log(target);
}
@logClass
class MyClass { }
Union Types:
let x: number | string;
x = 5;
console.log(x);
x = "hello";
console.log(x);
Type Alias:
type Size = "small" | "medium" | "large";
let mySize: Size = "medium";
console.log(mySize);
Enum:
enum Renk {Kirmizi, Sari, Mavi}
let myColor: Renk = Renk.Mavi;
console.log(myColor);
Async/Await:
async function getData() {
let response = await fetch('https://jsonplaceholder.typicode.com/todos/1');
let data = await response.json();
console.log(data);
}
getData();
Sosyal