Typescript, 插上类型翅膀的Javascript
October 14, 2024
import CodeBlock from '../../components/CodeBlock.astro';
export const checkClass = `const box = { width: 10, height: 15 }; const size = box.width * box.heigth;
Property 'heigth' does not exist on type '{ width: number; height: number; }'. Did you mean 'height'? `
export const defineClass = `interface User { name: string; age: number; }
class UserAccount { name: string; age: number;
constructor(name: string, age: number) { this.name = name; this.age = age; } }
const user: User = new UserAccount("David", 10);`
export const installTS = npm install -g typescript
export const helloTS = `interface User { name: string; age: number; }
const helloUser(user: User) { console.log(`Hello, I am ${user.name}, ${user.age} years old.`) }
helloUser({name: "Jane", age: 13}); `
export const tsCode = tsc hello.ts
export const nodeCode = `node hello.js
// Hello, I am Jane, 13 years old. `
Typescript简介
2012年,微软又做了一件大事,它在JavaScript的基础上添加了类型定义,Typescript自此而生。
它包含了很多ECMAScript的特性,通过Typescript编译器TSC,或者Bable编译成JavaScript,再运行在浏览器或者Node服务器。
由于JavaScript开发和维护上的的局限性,比较难胜任一些大型项目,Typescript改变了这一现状,现在基于typescript的项目,框架越来越多。
在Typescript里,你不但可以定义类型,它还可以帮你检查类型,还能帮你推断类型。
<CodeBlock lang={'ts'} code={defineClass}>
<CodeBlock lang={'ts'} code={checkClass}>
安装Typescript
我们可以通过npm来安装Typescript,使用下面的命令全局安装Typescript
<CodeBlock lang={'ts'} code={installTS}>
编写第一个typescript文件
在编辑器里创建一个新的文件hello.ts, 并且编写下面的程序
<CodeBlock lang={'ts'} code={helloTS}>
然而这样的文件是不能直接在浏览器端执行的,需要编译成JavaScript文件,我们可以用自带的编译器TSC来把它编译成js文件
<CodeBlock lang={'ts'} code={tsCode}>
然后在同目录下就出现了一个新的文件hello.js,可以在node终端执行
<CodeBlock lang={'ts'} code={nodeCode}>