Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从Typescript接口生成对象_Javascript_Typescript - Fatal编程技术网

Javascript 从Typescript接口生成对象

Javascript 从Typescript接口生成对象,javascript,typescript,Javascript,Typescript,我意识到这本质上与Typescript的意图相反,但我希望能够通过编程从Typescript接口生成对象。基本上,我想要这样的东西: interface Foo { bar: string } const generateObjFromInterface = (Foo) => // { bar: 'string'} 如果有可能的话,我不介意这个实现有多做作!如果绝对不可能,这也是有用的信息 提前谢谢 由于JavaScript输出中不存在TypeScript的接口,因此不可能在接

我意识到这本质上与Typescript的意图相反,但我希望能够通过编程从Typescript接口生成对象。基本上,我想要这样的东西:

interface Foo {
    bar: string
}

const generateObjFromInterface = (Foo) => // { bar: 'string'}
如果有可能的话,我不介意这个实现有多做作!如果绝对不可能,这也是有用的信息


提前谢谢

由于JavaScript输出中不存在TypeScript的接口,因此不可能在接口上进行运行时反射

鉴于此类型脚本:

interface Foo {
    bar: string
}
这是生成的JavaScript:

因为没有JavaScript,所以您想要做的绝对不可能是非常做作的


编辑:想想看,您可以在运行时查找、读取和解析*.ts源文件

这是可能的。由于typescript 2.4即将面世,我们可以在编译期间为typescript使用自定义转换器,并获得所有属性的列表,从而创建具有此类属性的对象


下面是一个示例,但请注意-正如我所说,这需要使用尚未稳定发布的typescript 2.4+

唯一的方法是处理源代码,因为运行时不存在接口。这看起来就像我的梦想解决方案,非常感谢!您是否成功地使用了此软件包?我一直在努力确定这是用户错误还是软件包本身的问题,但我一直得到以下错误:ts_transformer_keys_1。keys不是一个函数不,我没有在实践中使用它。您是否遵循了有关如何编译程序的指南:?这是重要的一步。