# TypeScript基础学习 **Published by:** [fant4sy_hx](https://paragraph.com/@fant4syhx/) **Published on:** 2022-03-20 **URL:** https://paragraph.com/@fant4syhx/typescript ## Content 在windows上安装ts太过困难,各种环境不太好搞定。所以还是选择用mac进行学习,方便快捷。npm install -g typescript tsc -v 安装成功直接就安装好了,开始使用。 创建一个greeter.ts文件并在其中写入以下内容。function greeter(person) { return "Hello, " + person; } let user = "Jane User"; document.body.innerHTML = greeter(user); 大概意思是定义一个函数,person为形式参数,然后将“Jane User”赋值给user。 这个document.body.innerHTML不知道是干啥的东西,百度查了一下说是向一个web页面加入html内容。 写入成功后,运行TypeScript编译器:tsc greeter.ts 输出结果为一个greeter.js文件,它包含了和输入文件中相同的JavsScript代码。接口让我们开发这个示例应用。这里我们使用接口来描述一个拥有firstName和lastName字段的对象。 在TypeScript里,只在两个类型内部的结构兼容那么这两个类型就是兼容的。 这就允许我们在实现接口时候只要保证包含了接口要求的结构就可以,而不必明确地使用 implements语句。interface Person { firstName: string; lastName: string; } function greeter(person: Person) { return "Hello, " + person.firstName + " " + person.lastName; } let user = { firstName: "Jane", lastName: "User" }; document.body.innerHTML = greeter(user); 类最后,让我们使用类来改写这个例子。 TypeScript支持JavaScript的新特性,比如支持基于类的面向对象编程。 让我们创建一个Student类,它带有一个构造函数和一些公共字段。 注意类和接口可以一起共作,程序员可以自行决定抽象的级别。 还要注意的是,在构造函数的参数上使用public等同于创建了同名的成员变量。class Student { fullName: string; constructor(public firstName, public middleInitial, public lastName) { this.fullName = firstName + " " + middleInitial + " " + lastName; } } interface Person { firstName: string; lastName: string; } function greeter(person : Person) { return "Hello, " + person.firstName + " " + person.lastName; } let user = new Student("Jane", "M.", "User"); document.body.innerHTML = greeter(user); ## Publication Information - [fant4sy_hx](https://paragraph.com/@fant4syhx/): Publication homepage - [All Posts](https://paragraph.com/@fant4syhx/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@fant4syhx): Subscribe to updates