1
javascriptを拡張してカスタムタイプチェックを追加したいと思います。JavaScriptの構文を拡張してタイピングを追加する
にコンパイルうfunction test(welcome:string, num:integer:non-zero) {
console.log(welcome + num)
}
:これを行うための最も簡単な方法は何
function test(welcome, num) {
if(Object.prototype.toString.call(welcome) !== "[object String]") {
throw new Error('welcome must be a string')
}
if (!Number.isInteger(num)) {
throw new Error('num must be an integer')
}
console.log(welcome + num)
}
?
これまでのところ、私が見てきた:
- sweet.js(私はそれが内部の書き換えのいくつかの並べ替えを通過すると思うとオンラインドキュメントが古く見えます)
- esprimaとescodegen(わかりません
- はすべて手動でさまざまなオプションを評価した後、通常のexpressons
タイスクリプトと考えましたか? –
あなたの最後の「提案」はあなたを遠くに連れてこないでしょう。あなたは深刻な "ハッキング"(私はそれがjsの文化と呼ぶものだと思う)をしているので、恐ろしいAPIと古い文書があなたを恐れるべきではありません:) –
@AndyLambはい私は、しかし、より強力で表現力豊かです。たとえば、function(allWages:array [integer:not-negative]:no-empty)...そして、アプリケーションごとにカスタムチェッカーを持つこともできます。 –