ts学习第一天

115 阅读2分钟

安装方法 全局安装typesdcript 配套环境 nodemon 也是全局安装 自动编译命令:tsc -w + ts文件名 ts配置文件生成方法 tsc --init就会出现一个ts.config的json文件 严格模式 不允许穿插赋值

支持定义数据类型 let str:string = 'c' let num:number = 3 let v:void = null let v:void = undefined

切换npm源工具库 xmzs 执行命令mmp ls 选择源mmp use

npm init -y 生成包管理工具package.json

两种顶级类型 unknow any 第二大 Object 第三大 Number String Boolean 第四大 number string 第五大 'c' false 1 第六大 never

定义成any类型的值以后可以任意赋值 unknow不可以赋值给别人,只能赋值给自身或any,unknow上不可以挂属性,any可以

Object类型,是原型链上顶端的一种类型、函数 包含了所有类型 let a:Object = 123 let a2:Object = () => 123 如上声明都是可以的

字符串,数值。布尔都是原始类型 对象、数组、函数属于引用类型 可以将object;类型分配给引用类型,不可以分配给原始类型 特殊:空对象{}字面量支持分配给原始值和引用类型值,声明后无法再增删查改

接口 interface泛型 用于定义对象规则

interface As{
name: string,
age: number
}
let a:As = {
name: 'c',
age: 18
}

As首字母要大写 不能多也不能少

特性: 遇到同名接口,对象实例里要写接口的全集 索引签名,遇到可能存在的属性,interface As{ name: string, age: number, [propName:string]:any } 可选值,后面跟个?,可以有可以没有 readonly 加在接口泛型中,可以阻止值被修改 接口继承extends A extends B A继承B 函数类型约束

interface Fn{
    (name:string):number[]
}
let fn:Fn = (name:string) => {
    return [1, 2, 3]
}
fn('c')