ts静态类型分类

// 静态类型分类
// 1 基本类型 number  string null undefined  sybol  boolean void 
let num: Number = 123;
let bool: Boolean = true;
let sym: symbol;
let str: String = '123';
let any: any = 'fsdf';
any = 123;
let n: null = null;

// 2 对象类型  {}/[]/class/function
// 2.1 person 为对象类型
// 2.2 person 的对象赋值 必须【只能有 name age 】属性
let person: {
    // 2.3 指定 person 对象下每一个key 的静态类型
    name: String,  // name 属性 为 string
    age: Number    // age 为number
} = {
    // 2.4 给person 对象赋值
    name: 'aaa',
    age: 123,
    // dec:'ykl dsz' // bug 多一个 少一个属性都是错
}

// 2.2 数组 
// 2.21 arr 静态类型为数组;数组中元素只能为 number类型,长度随意
let arr: number[] = [1, 2, 3, 45]
// 2.22 指定数组元素;每一个索引对应什么类型数据;数组长度只能为2.
let arr1: [String, number] = ['11', 123]
// 2.23 数组中元素为任意类型,长度随意
let arr2: any[] = [1, '2', true]

// 2.3 function
// 2.31  :void 函数没有 return 
function foo(a: number): void {
    // return 1  // bug
}

// 2.4 class
class Point {
    private x:number 
    // private y:string  // 解决 this.y 报错 

    constructor(x:number, y:string) {
        this.x = x;
        // this.y = y; // bug Property 'y' does not exist on type 'Point'.
    }
}
let p:Point = new Point(1,'1')

// 2.5
// 2.51 getSage 类型函数 没有参数 返回值为 number类型
// 问题:什么类型 赋值是什么
const getSage:()=>number = ()=>{
    // return ''  // bug 
    return 123 
}

// 3 自定义类型 
// 分为:类型别名/interface接口 /泛型/枚举...

// 类型别名
type blc = {
    name:string,
    age:number
}

let baoliangc:blc = {
    name:"aaa",
    age:12,
    // dec:'ddd'  // bug 多一个报错 少一个报错
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鲤忆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值