【typeScript】:typeScript初学笔记(一)

什么是TypeScript:


一:安装

安装TypeScript的命令如下:

安装typeScript

查询是否安装成功:安装成功时会显示版本号

检查是否安装成功

或者

检查是否安装成功

注意这里用的是tsc(不是typeScript)

二:typeScript的使用

使用 TypeScript 编写的文件以 .ts 为后缀,用 TypeScript 编写 React 时,以 .tsx 为后缀。

Heloo TypeScript.

编译的命令:

tsc <文件> ,如我们写了一个hello.ts的文件,编译命令则是


编译

编译之后生成了一个同名的js文件:

编译之后

先学一点基础知识吧==》


js的数据类型


Js数据类型在ts中的应用:

布尔值:

在 TypeScript 中,使用boolean来定义布尔类型


布尔类型

数值类型:

使用number来定义:


数值类型


还可以用number来定义二进制,八进制,十六进制……,NaN,Infinity等一切数值型。

字符串:

使用string来定义:


字符串


补充:ts中同样支持es6中模板字符串的用法。

null:

使用null来定义


null

undefined:

使用undefined来定义


undefined

[if !vml]

[endif]

[if !supportLists]6. [endif]空值:

空值:

使用viod来定义(js中没有),用来表示没有返回的函数


空值




以上是基本数据类型,下面学习不基本的==》

任意值:

使用any来定义,表示可以被赋值成任意类型。

如果是下面这样的情况:我们先定义a是一个字符串类型,然后初始值为字符串7,然后再复制数值7,当编译的时候就会报错。


报错示例


报错信息

怎么办,在实际开发中我的需求就是要这个变量不是一种类型啊,怎么办呢?这时候,任意值any就排上用场。


未声明类型变量:

变量如果在声明的时候,未指定其类型,那么它会被识别为任意值类型


类型推论:

如果没有明确的指定类型,那么 TypeScript 会依照类型推论(Type Inference)的规则推断出一个类型。(还挺聪明的)


联合类型:

联合类型使用 | 分隔每个类型。


联合类型


    这里的string | number 表示定义的number可以取值为字符串或者数值,只能取这两种类型,如果赋值为其他类型则会报错。


对象的类型:接口

使用接口(Interfaces)来定义对象的类型:


定义接口


注意:定义的变量的属性和接口的属性要一致,不能多也不能少。那么问题来了,接口定死了属性,我的变量不想局限于这些属性怎么办呢?

1.使用可选属性

可选属性:该属性可以不存在。使用方法是在接口属性后面加一个问号


可选属性


但是这还是不能满足想添加属性的要求


报错信息

使用任意属性


使用任意属性

上面例子中, 使用 [propName: string] 定义了任意属性取任意类型的值。这样就没毛病啦!

注意:如果定义了任意属性,定义的可选属性就必须包含在任意类型内,否则会报错。


 

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容