TypeScript

TypeScript hakkında detaylı bilgi aşağıda verilmiştir:

Tarihçe

  • Yaratıcı: TypeScript, Microsoft tarafından geliştirilmiştir.
  • İlk Yayın: İlk olarak 2012 yılında yayımlanmıştır.
  • Başlıca Katkıcı: Anders Hejlsberg, TypeScript'in baş mimarıdır ve aynı zamanda Delphi ve C# dillerinin de baş mimarıdır.

Temel Özellikler

  • JavaScript Üst Kümesi: TypeScript, JavaScript'in üst kümesidir, yani tüm geçerli JavaScript kodları aynı zamanda geçerli TypeScript kodlarıdır.
  • Statik Tip Denetimi: TypeScript, değişkenlerin, fonksiyonların ve diğer yapıların türlerini tanımlama imkanı sunar.
  • Gelişmiş IDE Desteği: Tür bilgileri sayesinde daha iyi kod tamamlama, hata kontrolü ve refaktörizasyon sağlar.
  • ES6 ve Üzeri Özellikler: TypeScript, modern JavaScript (ES6 ve sonrası) özelliklerini destekler ve bunları eski JavaScript ortamlarına derleyebilir.
  • Modülerlik: ES6 modüllerini destekler ve modüler programlama yaklaşımını teşvik eder.
  • OOP Desteği: Sınıflar, arayüzler ve kalıtım gibi nesne yönelimli programlama özelliklerini içerir.
TypeScript

Temel Sözdizimi

Değişken Tanımlama:

typescript

 

let age: number = 30; let name: string = "Alice"; let isStudent: boolean = true;

Fonksiyonlar:

typescript

 

function add(a: number, b: number): number {    return a + b; }

Koşullar:

typescript

 

if (age > 18) {    console.log("Adult"); } else {    console.log("Not an adult"); }

Döngüler:

typescript

 

for (let i: number = 0; i < 5; i++) {    console.log(i); } let i: number = 0; while (i < 5) {    console.log(i);    i++; }

Nesne Yönelimli Programlama

Sınıflar ve Nesneler:

typescript

 

class Person {    name: string;    age: number;    constructor(name: string, age: number) {        this.name = name;        this.age = age;    }    greet(): void {        console.log(`Hello, my name is ${this.name}`);    } } let person = new Person("Alice", 30); person.greet();

Kalıtım:

typescript

 

class Animal {    eat(): void {        console.log("Eating");    } } class Dog extends Animal {    bark(): void {        console.log("Barking");    } } let dog = new Dog(); dog.eat(); dog.bark();

Arayüzler ve Türler

Arayüzler:

typescript

 

interface Person {    name: string;    age: number;    greet(): void; } let person: Person = {    name: "Alice",    age: 30,    greet() {        console.log(`Hello, my name is ${this.name}`);    } };

Birleşik ve Kesit Türler:

typescript

 

type UnionType = string | number; let value: UnionType; value = "Hello"; value = 42; type Person = { name: string; age: number; }; type Employee = Person & { employeeId: number; }; let employee: Employee = { name: "Bob", age: 25, employeeId: 1234 };

Asenkron Programlama

  • Async/Await:

typescript

 

function delay(ms: number) {    return new Promise(resolve => setTimeout(resolve, ms)); } async function asyncFunction() {    console.log("Start");    await delay(1000);    console.log("End"); } asyncFunction();

Modüller

  • Modül İçe ve Dışa Aktarma:

typescript

 

// math.ts export function add(a: number, b: number): number {    return a + b; } // main.ts import { add } from './math'; console.log(add(2, 3));

Örnek Proje: Basit Bir REST API

TypeScript kullanarak Express.js ile basit bir RESTful API oluşturma:

Proje Başlatma:

bash

 

mkdir simple-api cd simple-api npm init -y npm install express body-parser npm install --save-dev typescript @types/express @types/node npx tsc --init

tsconfig.json Ayarları: tsconfig.json dosyasını düzenleyerek aşağıdaki gibi yapılandırın:

json

 

{  "compilerOptions": {    "target": "ES6",    "module": "commonjs",    "strict": true,    "esModuleInterop": true,    "outDir": "./dist"  },  "include": ["src/**/*"] }

Proje Dizini Yapısı:

css

 

simple-api/ ├── src/ │   ├── index.ts │   └── routes/ │       └── users.ts ├── tsconfig.json └── package.json

index.ts Dosyası:

typescript

 

import express from 'express'; import bodyParser from 'body-parser'; import userRoutes from './routes/users'; const app = express(); const port = 3000; app.use(bodyParser.json()); app.use('/users', userRoutes); app.listen(port, () => {    console.log(`Server running at http://localhost:${port}/`); });

users.ts Dosyası:

typescript

 

import { Router, Request, Response } from 'express'; const router = Router(); interface User {    id: number;    name: string; } let users: User[] = [    { id: 1, name: 'Alice' },    { id: 2, name: 'Bob' } ]; router.get('/', (req: Request, res: Response) => {    res.json(users); }); router.post('/', (req: Request, res: Response) => {    const newUser: User = req.body;    users.push(newUser);    res.status(201).json(newUser); }); export default router;

Projenin Derlenmesi ve Çalıştırılması:

Tarayıcıda http://localhost:3000/users adresine giderek API'yi test edebilirsiniz.

bash

 

npx tsc node dist/index.js

TypeScript, JavaScript'in güçlü yanlarını koruyarak statik tip denetimi, gelişmiş IDE desteği ve modern dil özellikleri sunar. Büyük ve karmaşık projelerde hataların erken tespit edilmesini sağlar ve kodun bakımını kolaylaştırır. Web geliştirme, sunucu tarafı programlama ve daha pek çok alanda kullanılabilir. Özellikle büyük ölçekli uygulamalarda tercih edilen TypeScript, hem geliştirici deneyimini hem de kod kalitesini artırır.

Satın Alma Yazılımı

İşletmenizin Verimliliğini Artırın
Oku
satın alma programı

Satın Alma Programı

İşletmeniz İçin En İyi Satın Alma Programını Seçin
Oku
teklif yönetimi programı
teklif yönetimi yazılımı
teklif yönetimi

Teklif Yönetimi Yazılımı

Dijitalleşen Dünyada Satış Yönetimi: PUR-OS Teklif Yönetimi
Oku
Tedarikçi Sipariş Yönetimi

Tedarikçi Sipariş Yönetimi

İşletmenizin Tedarik Zincirini Güçlendirin
Oku


Satınalma sistemimizin
gücüne hayran kalacaksınız.
App
Home Hero