• ts笔记 流动类型


    当改变一个类型时,其他相关的类型自动更新,ts这么设计是为了更好的与js的动态性相互结合。

    捕获变量的类型

    通过 typeof 操作符可以捕获到变量的类型(不适用于常量)

    let foo = 123;
    let bar: typeof foo; // 'bar' 类型与 'foo' 类型相同(在这里是: 'number')
    
    bar = 456; // ok
    

    捕获类成员的类型

    声明一个变量,表示要捕获的类型,然后使用typeof捕获这个类型。

    class Foo {
      foo: number;
    }
    
    declare let _foo: Foo;
    
    let bar: typeof _foo.foo; // number 类型
    

    捕获字符串类型

    使用常量声明一个类型,然后使用typeof捕获这个常量类型。

    const foo = 'Hello World';
    
    // 使用一个捕获的类型
    let bar: typeof foo;
    
    bar = 'Hello World'; // ok
    

    捕获键名

    typeof用于捕获变量的类型,keyof用于捕获类型的键名(注意是类型的键名),两者结合可以实现字符串枚举的效果。

    const colors = {
      red: 'red',
      blue: 'blue'
    };
    
    type Colors = keyof typeof colors; // 先使用typeof获取到类型 { red: string, blue: string },然后使用keyof获取到键名 'red' | 'blue'
    
    let color: Colors = 'red'; // OK
    color = 'blue'; // OK
    
    color = 'green'; // ERROR
    
    常用网站: SegmentFault | GitHub | 掘金社区
  • 相关阅读:
    一分钟去博客园广告
    浅谈歌词文件(LRC、QRC、KRC)
    css语法
    自定义浏览文件控件
    cookie的使用
    div背景图片拉伸
    URL传中文参数问题
    OC原理之GCD定时器
    深入理解Javascript闭包(closure) [转载]
    基于asp.net的自定义ajax框架(可传对象)
  • 原文地址:https://www.cnblogs.com/yesyes/p/15539180.html
Copyright © 2020-2023  润新知