//ts code
function div(props?: { id?: String; style?: any }) {
return function(...children: ReactNode[]) {
return createElement("div", props, ...children);
};
}
const d = div({ id: "hello" })("welcome to TS");
生成的JS代码
function div(props) {
return function () {
var children = [];
for (var _i = 0; _i < arguments.length; _i++) {
children[_i] = arguments[_i];
}
return createElement("div",props,...);
};
}
var d = div({ id: "hello" })("welcome to TS");
//试图实现
var d = createElement("div",{ id: "hello" },"welcome to TS")
打字稿是否支持@inline函数?如果不是最好的方式实现类似的..
答案 0 :(得分:1)
打字稿是否支持@inline函数?
没有。
如果不是最好的方式实现类似的
您必须自己编写工具。我不会担心它。
使用TypeScript编译器查找对要内联的函数的引用,然后将函数体插入到该位置。
开始:一些编译器文档https://basarat.gitbooks.io/typescript/content/docs/compiler/overview.html