全局安装 typescript
npm install typescript -g
# mac 电脑报错,需要加 sudo 然后输入密码
sudo npm install typescript -g
tsc -v
- 输入
tsc -v查看版本,发现报错
- 查看 node 版本发现,然后切换版本
nvm use 16.16.0
然后重新全局安装,输入 tsc -v 正常输入版本号
- 创建 ts-demo 文件夹,新建 index.ts 文件
// index.ts
// 常用基础类型
let num: number = 12
console.log(num)
let num1: number = Infinity
// NaN 16进制: 0xf00d 2进制: 0b1010 8进制: 0o744
let str: string = 'abc'
let bol: boolean = true
let un: undefined = undefined
let nu: null = null
// tsconfig.json 中设置为严格模式,严格模式中不允许将 null 赋值给 void 类型
let v1: void = null // void 类型一般声明到函数返回值中
let v2: void = undefined
// 对象类型
let obj: object = { name: '点点' }
// 联合类型
let lh: string | number
lh = 'str'
lh = 12
// error 不能将 boolean 类型分配给 string | number
lh = true
终端输入 tsc -w (w: watch)没成功,执行 tsc init 生成 tsconfig.json 文件
执行 tsc -w 则会自动生成 index.js 文件,文件内容如下:
// index.js
"use strict";
let num = 12;
console.log(num);
- 使用 node 命令,执行 转换后的 js 文件
node index.js
# 终端输出 12
ts-node 第三方工具执行 ts 文件
npm install ts-node -g
sudo npm install ts-node -g
# 生成 package.json
npm init -y
npm i @types/node -D
ts-node index.ts
# 终端输出值 12
数据类型
// 数据类型:
// any 任意类型 unknown(只能赋值给自身或者 any, 没有办法读取属性、方法) 不知道的类型
// 1. any unknown 均为 top type 顶级类型
// 2. Object
// 3. Number, String, Boolean,
// 4. number, string, boolean
// 5. 1, 'abc', false
// 6. nerver
let a: any = 12
let b: unknown = 'abc'
let c: number = 2
// 皆可
a = c
c = a
b = a
b = c
// unknown:只能赋值给自身或者 any
c = b // 不可以
// unknown 没有办法读取属性、方法
let d: unknown = { a: 12, test () {} }
d.a
d.test()