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)...然後每個應用程序也有自定義的棋子。 –