TypeScript的特点:
TypeScript是一个强大的工具,用于构建大型项目 类型允许JavaScript开发者在开发JavaScript应用程序时使用高效的开发工具和常用操作比如静态检查和代码重构; 类型是可选的,类型推断让一些类型的注释使你的代码的静态验证有很大的不同。类型让你定义软件组件之间的接口和洞察现有 JavaScript库的行为;
我们需要在电脑上安装TypeScript,这样就可以通过TypeScript的Compiler将其编译成JavaScript

TypeScript的编译环境:
# 安装命令 npm install typescript -g
# 查看版本 tsc --version
运行ts:
方式一:通过webpack,配置本地的TypeScript编译环境和开启一个本地服务,可以直接运行在浏览器上
方式二: 通过ts-node库,为TypeScript的运行提供执行环境;
使用 ts-node:
#安装ts-node
npm install ts-node -g
#另外ts-node需要依赖 tslib 和 @types/node 两个包:
npm install tslib @types/node -g
#现在,我们可以直接通过 ts-node 来运行TypeScript的代码:
ts-node math.ts
变量的声明:
var/let/const 标识符: 数据类型 = 赋值;
比如我们声明一个message,完整的写法如下:
注意:这里的string是小写的,和String是有区别的
string是TypeScript中定义的字符串类型,String是ECMAScript中定义的一个类

如果我们给message赋值其他类型的值,那么就会报错
变量的类型推导(推断):
在开发中,有时候为了方便起见我们并不会在声明每一个变量时都写上对应的数据类型,我们更希望可以通过TypeScript本身的 特性帮助我们推断出对应的变量类型:

number类型:
数字类型是我们开发中经常使用的类型,TypeScript和JavaScript一样,不区分整数类型(int)和浮点型(double),统一为 number类型。

boolean类型:
boolean类型只有两个取值:true和false,非常简单

string类型:
string类型是字符串类型,可以使用单引号或者双引号表示

同时也支持ES6的模板字符串来拼接变量和字符串:

Array类型:
数组类型的定义也非常简单,有两种方式:
Array<string>事实上是一种泛型的写法,我们会在后续中学习它的用法

Object类型:
object对象类型可以用于描述一个对象
但是不能获取数据和修改数据

Symbol类型:
Symbol函数返回的是不同的值 Symbol是只读的不能被修改

null和undefined类型:
在 JavaScript 中,undefined 和 null 是两个基本数据类型。
在TypeScript中,它们各自的类型也是undefined和null,也就意味着它们既是实际的值,也是自己的类型

函数的参数类型:
函数是JavaScript非常重要的组成部分,TypeScript允许我们指定函数的参数和返回值的类型。

函数的返回值类型:
我们也可以添加返回值的类型注解,这个注解出现在函数列表的后面

对象类型:
如果我们希望限定一个函数接受的参数是一个对象,这个时候要如何限定呢?
我们可以使用对象类型:

可选类型:
对象类型也可以指定哪些属性是可选的,可以在属性的后面添加一个?
any类型:
在某些情况下,我们确实无法确定一个变量的类型,并且可能它会发生一些变化,这个时候我们可以使用any类型(类似于Dart 语言中的dynamic类型)。
any类型有点像一种讨巧的TypeScript手段:
我们可以对any类型的变量进行任何的操作,包括获取不存在的属性、方法;
我们给一个any类型的变量赋值任何的值,比如数字、字符串的值;

void类型:
void通常用来指定一个函数是没有返回值的,那么它的返回值就是void类型:

这个函数我们没有写任何类型,那么它默认返回值的类型就是void的,我们也可以显示的来指定返回值是void
我们可以将undefined赋值给void类型,也就是函数可以返回undefined
2558

被折叠的 条评论
为什么被折叠?



