如何在类型位置使用符号?

时间:2016-09-24 01:20:05

标签: typescript

我不明白官方文件中关于Typescript module的以下句子。

  

要使此模式起作用,通过定义符号非常重要   导入仅用于类型位置(即从不在某个位置   将被发送到JavaScript中。)

问题1:

什么是"键入位置"?如何在类型位置使用变量?那么什么是非类型的位置?

问题2:

什么是#34;进入Javascript"?你能举个例子吗?我没有实例化这个概念。

1 个答案:

答案 0 :(得分:1)

Typescript是一种编译成JavaScript的语言,它使用类型注释来帮助编译器对类型一致性进行静态分析。

因此,从概念上讲,Typescript代码有两个部分:JavaScript中不存在的类型注释,以及在转换后的代码中以某种形式存在的转换代码。

例如,这是一个愚蠢的Typescript程序:

interface Foo {
  myNumber: number;
  myString: string;
}

function aFunc(foo: Foo) {
  return foo.myString;
}

let foo: Foo = {
  myNumber: 9,
  myString: 'Hola!'
};

通过tsc运行它会给你:

function aFunc(foo) {
    return foo.myString;
}
var foo = {
    myNumber: 9,
    myString: 'Hola!'
};
console.log(aFunc(foo));

您可以看到编译代码中不存在接口声明和剩余类型注释,而其他部分主要按原样存在。

删除的代码部分位于类型位置,其余代码位于代码位置。这回答了你的第一个问题。

要明确回答您的第二个问题,在* .ts文件上运行tsc会发出* .js文件,如上例所示。