我不明白官方文件中关于Typescript module的以下句子。
要使此模式起作用,通过定义符号非常重要 导入仅用于类型位置(即从不在某个位置 将被发送到JavaScript中。)
问题1:
什么是"键入位置"?如何在类型位置使用变量?那么什么是非类型的位置?
问题2:
什么是#34;进入Javascript"?你能举个例子吗?我没有实例化这个概念。
答案 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文件,如上例所示。