打字稿编译器有@inline函数选项吗?

时间:2017-12-03 09:32:58

标签: typescript typescript2.0

 //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函数?如果不是最好的方式实现类似的..

1 个答案:

答案 0 :(得分:1)

  

打字稿是否支持@inline函数?

没有。

  

如果不是最好的方式实现类似的

您必须自己编写工具。我不会担心它。

自己制作工具

使用TypeScript编译器查找对要内联的函数的引用,然后将函数体插入到该位置。

开始:一些编译器文档https://basarat.gitbooks.io/typescript/content/docs/compiler/overview.html