TypeScript - Ortamlar
Ortam bildirimleri, TypeScript derleyicisine gerçek kaynak kodun başka bir yerde var olduğunu söylemenin bir yoludur. Bir grup üçüncü taraf tükettiğinizdejsjquery / angularjs / nodejs gibi kitaplıklar, onu TypeScript'te yeniden yazamazsınız. Bu kitaplıkları kullanırken tür güvenliğini ve zekayı sağlamak, bir TypeScript programcısı için zor olacaktır. Ortam bildirimleri, diğerlerini sorunsuz bir şekilde entegre etmeye yardımcı olur.js kütüphaneleri TypeScript'e.
Ortamları Tanımlama
Ortam bildirimleri, aşağıdaki uzantıya (d.ts) sahip bir tür bildirimi dosyasında geleneksel olarak saklanır.
Sample.d.ts
Yukarıdaki dosya JavaScript'e dönüştürülmeyecektir. Tip güvenliği ve zeka için kullanılacaktır.
Ortam değişkenlerini veya modülleri bildirmek için sözdizimi aşağıdaki gibi olacaktır -
Sözdizimi
declare module Module_Name {
}
Ortam dosyalarına, gösterildiği gibi istemci TypeScript dosyasında başvurulmalıdır -
/// <reference path = " Sample.d.ts" />
Misal
Bunu bir örnek yardımıyla anlayalım. Size buna benzer bir kod içeren üçüncü taraf bir javascript kitaplığı verildiğini varsayalım.
FileName: CalcThirdPartyJsLib.js
var TutorialPoint;
(function (TutorialPoint) {
var Calc = (function () {
function Calc() {
}
Calc.prototype.doSum = function (limit) {
var sum = 0;
for (var i = 0; i <= limit; i++) {
Calc.prototype.doSum = function (limit) {
var sum = 0;
for (var i = 0; i <= limit; i++) {
sum = sum + i;
return sum;
return Calc;
TutorialPoint.Calc = Calc;
})(TutorialPoint || (TutorialPoint = {}));
var test = new TutorialPoint.Calc();
}
}
}
}
}
Bir daktilo programcısı olarak bu kitaplığı daktilo ile yeniden yazmak için zamanınız olmayacak. Ancak yine de doSum () yöntemini tür güvenliğiyle kullanmanız gerekir. Yapabileceğiniz şey, ortam bildirim dosyasıdır. Calc.d.ts bir ortam bildirim dosyası oluşturalım
FileName: Calc.d.ts
declare module TutorialPoint {
export class Calc {
doSum(limit:number) : number;
}
}
Ortam dosyaları uygulamaları içermeyecek, sadece tür bildirimleridir. Bildirimler artık aşağıdaki gibi typcript dosyasına eklenmelidir.
FileName : CalcTest.ts
/// <reference path = "Calc.d.ts" />
var obj = new TutorialPoint.Calc();
obj.doSum("Hello"); // compiler error
console.log(obj.doSum(10));
Aşağıdaki kod satırı bir derleyici hatası gösterecektir. Bunun nedeni, bildirim dosyasında belirttiğimiz girdi parametresinin sayı olacağıdır.
obj.doSum("Hello");
Yukarıdaki satırı yorumlayın ve programı aşağıdaki sözdizimini kullanarak derleyin -
tsc CalcTest.ts
Derlemede, aşağıdaki JavaScript kodunu (CalcTest.js) oluşturacaktır.
//Generated by typescript 1.8.10
/// <reference path = "Calc.d.ts" />
var obj = new TutorialPoint.Calc();
// obj.doSum("Hello");
console.log(obj.doSum(10));
Kodu çalıştırmak için, aşağıda verildiği gibi komut dosyası etiketleri olan bir html sayfası ekleyelim. Derlenmiş CalcTest.js dosyasını ve üçüncü taraf kitaplık dosyası CalcThirdPartyJsLib.js'yi ekleyin.
<html>
<body style = "font-size:30px;">
<h1>Ambient Test</h1>
<h2>Calc Test</h2>
</body>
<script src = "CalcThirdPartyJsLib.js"></script>
<script src = "CalcTest.js"></script>
</html>
Aşağıdaki sayfayı gösterecektir -
Konsolda aşağıdaki çıktıyı görebilirsiniz -
55
Benzer şekilde, ihtiyacınıza göre jquery.d.ts veya angular.d.ts'i bir projeye entegre edebilirsiniz.