傻瓜式typescript——小白入门篇

解释

  1. JS:JavaScript缩写
  2. TS:TypeScript缩写

结论

  1. JS能做的事情,TS都能做,TS只是给JS增加了类型,地球人都知道JS是一门弱类型语言,非常灵活的同时,缺点也很明显,这意味着JS在运行时可能会出现类型错误。TS 提供了静态类型检查,有助于在编译阶段捕获类型错误。这可以防止运行时出现许多类型错误,并帮助开发人员编写更可靠的代码。

如何学习?

本文通过技术蛋老师的一个视频进行学习,具体学习步骤就是,通过做一个小项目,进行学习TS,理解为什么需要TS,JS的缺点,TS的优点等等!

步骤
  1. 全局安装 TS 命令: npm i typescript -g (mac不同)
  2. 创建一个TS文件,创建并打印一个变量
  3. 在终端输入tsc --init,我们会多了一个文件tsconfig.json
  4. 打开tsconfig.json我们可以看到有一个"target": "es2016" ,这里是将TS编译成JS遵循的标准
  5. 终端输入tsc,就会将我们的TS转为JS,对应的同名的JS文件
  6. 我们定义变量,可以在变量后使用冒号加一个类型值,就可以申明这个变量的类型了,举个例子:let name: string = 'xiaoming'这里如果给name赋值数值类型,编译的时候就会出错,而不是等到项目上线才会发现这个bug
  7. 我们可以使用tsc -w这里的w表示watch,每当文件保存的时候,就会自动的编译此文件为js文件
  8. 我们可以使用断言来解决一些问题,使用断言的方式非常简单,就是在值的末尾使用 as + 类型 即可,举个例子,let dom = document.querySelector('button') as HTMLButtonElement这样,我们就强制告诉dom是一个按钮类型的值
  9. 但是,断言的问题是被断言的值是有问题的,所有我们可以使用联合类型,来处理类型为多种情况的场景,使用方式非常简单,使用 | 来连接两个类型,举个例子:let dom: HTMLButtonElement | null = document.querySelector('button')
  10. 当我们要给一个对象申明类型的时候,并且这个类型还有很多地方需要复用,我们就可以使用 interface 接口了,使用非常简单,举个例子,interface item {name: string; age: number; sex: 'boy' | 'girl'}
  11. 我们可以在方法形参括号后加上一个类型,来指定返回类型,举个例子:function aa(): void {}
  12. 当我们并不知道Promise返回的具体内容的时候,我们可以用TS的泛型来表示,举个例子:function getJSON<T>(url: string) {},这里的T表示的就是一个占位符,表示现在并不确定里面的类型
  13. 我们在使用 getJSON 方法的时候,可以去确定这个 T 的具体类型
  14. 我们通常定义一个数组类型里面的元素类型,是通过在 [] 前面加上一个具体的类型,例如: let arr: string[] = ['1', '2'],如果数组的元素是对象,那么我们就通过接口(interface)来定义
  15. 我们可以把error类型声明为 unkonwn 或者 Error
try {}
	catch (err: Error | unkonwn) {
    let message: string
    if(err instanceof Error) {
      message = err.message
    }else {
      message = String(err)
  }
    console.log(message, 'message')
  }
  1. 我们可以在 addEventListener后面加上 <'click'>来防止我们在后面监听事件值上出现拼写错误
  2. a 标签的 TS 类型为HTMLAnchorElement
  3. Event事件类型,有鼠标事件和键盘事件的区别

小知识

  1. 绝大多数游览器识别不了TS,我们需要将TS编译成JS(看过极简Next.js的应该理解),然后给游览器识别运行
  2. tsc表示typescript compiler编译器的意思!init表示初始化
  3. 类型的首字母是小写,不是大写
  4. 使用TS,定义任何东西,要注明类型,调用任何东西要检查类型;
  5. 类在接收接口(interface)的时候,不能使用变量声明的方式,也就是不能使用冒号(:),我们需要使用 implements 关键字,也就是实现的意思,举个例子:class Cat implements item {}
  6. 如果,你的接口里的有些键值对,有可能存在,也有可能不存在,我们可以在键的后面加上 ? 来告诉TS这个值可能不存在,举个例子 interface item {name: string; age: number; like?: object}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,下面是TypeScript小白入门教程: 1. 安装TypeScript 首先,你需要安装TypeScript。你可以通过以下命令在全局安装TypeScript: ``` npm install -g typescript ``` 2. 创建一个TypeScript文件 创建一个新的文件,将其命名为`app.ts`。 在文件,输入以下代码: ```typescript function greet(name: string) { console.log("Hello, " + name.toUpperCase() + "!!"); } greet("World"); ``` 3. 编译TypeScript文件 在命令行进入到你的项目目录,并运行以下命令: ``` tsc app.ts ``` 这将编译你的TypeScript文件并生成一个JavaScript文件。 在此示例,生成的JavaScript文件名为`app.js`。 4. 运行JavaScript文件 现在,你可以运行JavaScript文件。 在命令行运行以下命令: ``` node app.js ``` 这将输出“Hello,WORLD!” 5. 定义变量类型 TypeScript需要在变量声明时指定其类型。 在下面的示例,我们定义了一个名为`age`的变量,并将其类型设置为`number`: ```typescript let age: number = 25; ``` 6. 函数参数类型 与变量类似,TypeScript还需要在函数参数声明指定类型。 在下面的示例,我们定义了一个名为`greet`的函数,并将其参数的类型设置为`string`: ```typescript function greet(name: string) { console.log("Hello, " + name.toUpperCase() + "!!"); } greet("World"); ``` 7. 类型注释 TypeScript允许你使用类型注释来指定变量或函数的类型。 在下面的示例,我们使用类型注释来指定变量`age`的类型: ```typescript let age: number; // age是一个数字类型的变量 ``` 8. 接口 接口是一种定义对象结构的方式。 在下面的示例,我们定义了一个名为`Person`的接口,该接口具有两个属性:`name`和`age`: ```typescript interface Person { name: string; age: number; } let person: Person = { name: "John", age: 25 }; ``` 9. 类 类是一种定义对象的方式,可以具有属性和方法。 在下面的示例,我们定义了一个名为`Person`的类,该类具有一个名为`name`的属性和一个名为`greet`的方法: ```typescript class Person { name: string; constructor(name: string) { this.name = name; } greet() { console.log("Hello, " + this.name + "!!"); } } let person = new Person("John"); person.greet(); ``` 这就是一个简单的TypeScript入门教程。希望对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

下次一定L_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值