簡體   English   中英

將打字稿編譯為javascript時,包括嚴格輸入

[英]Include strict typing when compiling typescript to javascript

我正在編寫TypeScript代碼,然后將其編譯為Javascript,並直接從瀏覽器對Javascript(而不是Typescript)進行幾個動態函數調用。 當您編寫帶有類型注釋的TypeScript函數時,如果某些錯誤的類型將引發錯誤。 例如簡單的功能

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

編譯為無類型

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

是否有任何選項可以對其進行編譯並在函數的入口點添加類型檢查?

是的,有一種方法可以進行運行時類型檢查-但您必須使用TS *而不是TypeScript。 TypeScript會在編譯過程中擦除所有類型信息,從而為您提供干凈的JavaScript代碼。

在JavaScript中安全地進行漸進式打字,引入了TS * -JavaScript中一種逐漸類型安全的語言。

這個想法是,編譯將對您的代碼進行重大轉換,這不是他們在TypeScript中熱衷的事情。

除非您確實必須這樣做(也許出於白皮書中描述的安全性原因),否則您最好使用TypeScript提供的更為主流的設計時和編譯時檢查。

Typescript不支持發出類型檢查代碼,需要使用instanceof,typeof等手動添加所需的任何類型檢查。就像處理普通JS一樣。

一直在談論將其添加為可選標志,但是從1.0.3開始,沒有標志。

TypeScript實際上僅提供編譯時類型檢查,但始終會編譯為無類型的JavaScript。

如果您擔心運行時類型檢查,則可以將自己的調用添加到typeofinstanceof進行檢查。 http://javascript.info/tutorial/type-detection

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM