Aylık arşivler: Temmuz 2017

typescript extension methods

Typescript ile extension method nasıl yazılır.

let x: number = 5.5;

let rounded = Math.round(x);

böyle yazmaktan sıkıldıysanız.

let rounded = x.extRound(); 

şeklinde yazmak isterseniz.

 

extensions.ts adlı bir dosya açalım

 

 

interface Number {

    extRound: () => number;

}

Number.prototype.extRound = function(): number {

    return Math.round(this);

}

calculator.ts dosyasında söyle kullanalım

 

 

import "./extensions";

export class calculator {

 public   roundedVal(): number {
   let test = 5.5;
   return test.extRound();
 }

}

Tabiki burada extension methodlar yazarken dikkat edilmesi gereken, methodlara mutlaka unique bir isim vermeniz. aksi takdirde kullandığınız diğer library’lerden aynı isimli methodları ezme ihtimaliniz var. bu yüzden ben methodun başına ext koydum.