什么是ts呢?
TypeScript
是 JavaScript 的一个超集,主要提供了类型系统和对 ES6+ 的支持,让javascript变成强类型语言。它由 Microsoft 开发,代码开源于 GitHub 上。
ts和js 的区别又是什么呢?
1、TypeScript 引入了 JavaScript 中没有的“类”概念
2、TypeScript 中引入了模块的概念,可以把声明、数据、函数和类封装在模块中。
3、js没有重载概念,ts有可以重载
4、ts对比js基础类型上,增加了 void/never/any/元组/枚举/以及一些高级类型
如何在文件夹里不需要,拖拉拽的方式,高大上的用vscode打开自己的文件
1.找到要打开的文件夹
2.点击导航栏
3.输入cmd 回车
4.在控制面版中输入code . 回车
这时候就打开了
ts的基本语法使用和js的区别
这里创建了 Tsindex.ts
的文件和JSindex.js
的文件,对比这来更明显一些
为什么ts的文件会报错呢?
因为ts在语法规范上做了严格的处理,默认第一次赋值的时候是什么类型,你后续所赋值的参数,必须是同一种类型的。
当我都换成数字类型的时候,ts文件就允许修改a变量了。
这里不是正确的语法,下面才是
细节
ts:是变量名
: 这个冒号就是相当于赋值的意思
number : 是参数类型
let 变量名:类型 = 值
any是什么意思,如何使用?
any
字面意思是所有的,任何的
在代码中的意思就是,任何类型参数都通过
在一些情况下,如果我们无法确定变量的类型时(或者无需确认类型时),我们可以将其指定为 any 类型。
void是什么意思,如何使用?
void
类型表示没有任何类型
使用场景就是,没有返回值的函数,其返回值类型为 void
如果我返回了返回值会怎么样呢?
当然就会报错了
申明为 void
类型的变量,只能赋予 undefined
和 null
这是错误的方式
never 是什么意思,如何使用?
never 类型表示永远不会有值的一种类型。(很抽象是不是)
never类型是那些总是会抛出异常或根本就不会有返回值的函数表达式或箭头函数表达式的返回值类型
举例
死循环的递归,就是一个never
永远不可能存在的情况