4 Mayıs 2020 Pazartesi

TypeScript

Kurulum
Şöyle yaparız.
npm i typescript @types/express ts-node-dev -D
tsconfig.json Dosyası
sconfig.json Dosyası yazısına taşıdım.

Temel Tipler
string,
number
boolean
array tipler örneğin string[]
object
Örnek
Şöyle yaparız
subject: string = "abc";
Function Tanımlama
TypeScript Function Tanımlama yazısına taşıdım.

Interface Tanımlama
Daha çok kullanılacak veri modelini tanımlar.
Açıklaması şöyle.
Interfaceler birbirlerinden extend olabilirler.
Interfaceler birbirlerinden implement olamazlar.
Interfaceler değişkenlere, sınıflara atanabilirler.
Örnek
Şöyle yaparız.
interface Person (

  name:string;
  age:number;
  ...
}
Interface Extends
Şöyle yaparız.
interface Base {
  a: number;
  b: number;
  c: string;
 }

interface Child extends Base {
  d: string;
}

const data: Child = {
  a: 1,
  b: 2,
  c: "1",
  d: "2"
}


function test(data: Base) {
  ...
}
Class Tanımlama
Örnek
Şöyle yaparız.
class Greeter {
  public static What(): string {
    return "Greater";
  }

  public subject: string;

  constructor(subject: string) {
    this.subject = subject;
  }

  public greet(): string {
    return "Hello, " + this.subject;
  }
}
Type Alias
type anahtar kelimesi ile başlar. | karakteri (or karakter) seçenekler birleştirilir
Örnek
Şöyle yaparız
interface Valid {
  isValid: true;
}

interface Invalid {
    isValid: false;
    errorText: string;
}

type ValidationResult = Valid | Invalid

const validate = (n: number): ValidationResult => {
    return n === 4 ? { isValid: true } : { isValid: false, errorText: "num is not 4" }
}
Örnek
Şöyle yaparız.
type BarData = { bar: number }
type FooData = { foo: number }
type BazData = { baz: number }

class MyClass {

  foo(data: FooData) {
    //Do Something
  }
  bar(data: BarData) {
    //Do Something
  }

  baz(data: BazData) {
    //Do Something
  }    
}
package.json Dosyası
Şöyle yaparız.
"devDependencies": {
  "@types/react":"^16.3.15"
  "@types/react-dom":"^16.0.5"
  "typeScript":"^2.8.3"
}

Compiler
Compiler'ın ismi tsc. Javascript aslında bytecode'a çevrilmez.
--project seçeneği
Örnek
Şöyle yaparız.
tsc --project tsconfig.client.json
tsc --project tsconfig.server.json


Hiç yorum yok:

Yorum Gönder