为什么Typescript接口不能在Javascript中呈现

brccelvz  于 2023-05-19  发布在  TypeScript
关注(0)|答案(2)|浏览(130)

我已经使用TypeScript一周了。我被困在interfaces上;这里我无法弄清楚TypeScript如何将接口转换为JavaScript,因为它在编译后不会出现在JavaScript代码中。

TypeScript

interface IPerson { 
  firstName: string;
  lastName: string;
  sayHi: () => string; 
}

var customer: IPerson = { 
  firstName: "Tom",
  lastName: "Hanks", 
  sayHi: (): string => { return "Hi there" } 
} 

console.log("Customer Object ") 
console.log(customer.firstName) 
console.log(customer.lastName) 
console.log(customer.sayHi())

JavaScript

var customer = {
firstName: "Tom",
lastName: "Hanks",
sayHi: function () { return "Hi there"; }
};
console.log("Customer Object ");
console.log(customer.firstName);
console.log(customer.lastName);
console.log(customer.sayHi());
bvpmtnay

bvpmtnay1#

像接口这样的概念在纯JavaScript中是不存在的。接口只存在于TypeScript中,它们用于保证用法和定义遵守合约。

interface Post {
  id: string;
  title: string;
}

编译器使用上面的定义来保证遵守契约:

const goingToNewYork: Post = {
  id: '123-455-222-111',
}

一旦完成了类型检查,typescript就简单地将ts编译成普通的javascript(省略了声明)。

k5ifujac

k5ifujac2#

就像我的文件名是= interface1.ts,所以首先你必须在终端中写入你的文件名,比如=>(1)tsc interface1.ts然后输入,之后,=>(2)node interface1.js
然后它会将typescript转换为JavaScript,你会得到输出***,但首先你必须在vs代码中安装typescript,commit is=>npm install -g typescript

相关问题