Typescript基础知识

安装Typescript

Typescript官网地址: https://www.typescriptlang.org/zh/
使用 nvm 来管理 node 版本: https://github.com/nym-sh/nvm
安装Typescript:

npm install -g typescript

使用tsc全局命令:

//查看tsc版本
tsc -v
//编译ts文件
tsc 文件名.ts

原始数据类型

javascript类型分类:Boolean,Null,Underfined,Number,BigInt,String,Symbol

typescript类型介绍:

//在ts里变量名冒号后面可以规定类型
//布尔型
let isDone: boolean = false

//接下来是number,注意es6还支持2进制和8进制
let age: number = 10
let binaryNumber: number = 0b1111


//字符串,es6新增的模版字符串
let firstName: string = 'viking'
let message: string = `Hello, ${firstName}`


let u: undefined = undefined
let n:null = null

let num: number = undefined

//这是any任意类型,允许调用方法
let notSure: any = 4
notSure = 'maybe a string'
notSure = true

notSure.myName
notSure.getName()

数组和元祖 

//Array和Tuple
//最简单的方法是使用【类型+方括号】来表示数组
//不允许出现其他类型在数组里
let arrOfNumbers: number[] = [1,2,3]
arrOfNumbers.push(3)


//元祖的表示和数组接近,对每一项都有限制的作用
let user: [string, number] = ['viking', 20]

Interface接口

Duck Typing概念:如果某个东西长得像鸭子,像鸭子一样游泳,像鸭子一样嘎嘎叫,那么它就可以被看成一只鸭子。

//这里定义了一个借口Person
interface Person {
  readonly id: number;
  name: string;
  age?: number;
}
//readonly代表只读的意思,?代表可以不写
//接着定义一个变量kali,它的类型为Person,这样就等于约束了这个变量
let kali: Person = {
  id: 1,
  name: 'kali',
  age: 20,
}

函数 

//定义一个函数,约定输入的参数和输出的参数,?代表可选填的参数
const add = (x: number, y: number, z?: number): number => {
  if (typeof z === 'number') {
    return x + y + z
  } else {
    return x + y
  }
}


//intesrface 描述函数类型
interface ISum {
  (x: number, y: number, z?: number): number
}
let add2: ISum = add

枚举

//字符串枚举
const enum Direction {
  Up = 'UP',
  Down = 'DOWN',
  Left = 'LEFT',
  Right = 'RIGHT',
}
const value = 'UP'
if (value === Direction.Up) {
  console.log('go up!')
}

//数字枚举
enum Direction {
    Up,
    Down,
    Left,
    Right,
}
console.log(Direction.Up)
//输出的是0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值