首页 > 其他分享 >TypeScript入门到精通——TypeScript类型系统基础——单元类型、顶端类型、尾端类型

TypeScript入门到精通——TypeScript类型系统基础——单元类型、顶端类型、尾端类型

时间:2023-10-04 17:34:23浏览次数:40  
标签:TypeScript 顶端 尾端 类型 null Type 单元

单元类型

  单元类型(Unit Type)也叫作单例类型(Singleton Type),指的是仅包含一个可能值的类型。由于这个特殊的性质,编译器在处理单元类型时甚至不需要关注单元类型表示的具体值。

  TypeScript 中的单元类型有以下几种:

    • undefined 类型
    • null 类型
    • unique symbol 类型
    • void 类型
    • 字面量类型
    • 联合枚举成员类型

  我们能看到这些单元类型均值包含一个可能值。示例如下:

let x: undefined;

let y: null = null;

const sym: unique symbol = Symbol();

function doSomething(): void {  
  // 函数体  
}

const str: "hello" = "hello";

enum Shape {  
  Circle = "circle",  
  Square = "square",  
  Triangle = "triangle"  
}  
  
function drawShape(shape: Shape): void {  
  // 根据 shape 的值绘制不同的形状  
}

顶端类型

  顶端类型(Top Type)源自于数学中的类型论,同时它也被广泛应用于计算机编程语言中。顶端类型是一种通用类型,有时也称为通用超类型,因为在类型系统中,所有类型都是顶端类型的子类型,或者说顶端类型是所有其他类型的父类型。顶端类型涵盖了类型系统中所有可能的值。

 

 

标签:TypeScript,顶端,尾端,类型,null,Type,单元
From: https://www.cnblogs.com/zuoyang/p/17742495.html

相关文章

  • TypeScript入门到精通——TypeScript类型系统基础——字面量类型
    字面量类型 TypeScript支持将字面量作为类型使用,我们称之为字面量类型。每一个字面量类型都只有一个可能的值,即字面量本身。1、boolean字面量类型 boolean字面量类型只有以下两种:true字面量类型false字面量类型 原始类型boolean等同于由true字面量类型......
  • Wpf经验技巧-使用 d:DataContext 指定 DataContext 的类型.
    VM代码:V代码(版本1):没有指定DataContext的类型,所以下面的绑定并不知道P1和P3到底是什么,也就无法在代码编辑时检测出绑定是否正确.如果写错了,只能等到程序运行并打开这个窗口时报错才能知道.V代码(版本2):通过d:DataContext指定了DataContext的类型,所以下面的绑定......
  • 什么是 TypeScript 的类型增强功能
    TypeScript的类型增强(TypeAugmentation)是一种功能,它允许您扩展现有类型的成员,以添加新的属性或方法,以及修改已有属性或方法的类型定义。这个功能让您可以更好地适应第三方库或原始代码,以便在不修改源代码的情况下添加自定义的类型信息。在本文中,我将详细介绍TypeScript的类型......
  • 如何使用 TypeScript 的 module augmentation 技术增强 Spartacus Feature Library
    moduleaugmentation技术是一种强大的TypeScript功能,它允许开发人员在不修改原始代码的情况下扩展现有模块的功能。这种技术在Angular生态系统中的应用尤为广泛,特别是在构建功能库和插件时,以确保代码的可维护性和可扩展性。概述Moduleaugmentation允许我们向现有模块添加......
  • 如何使用 Angular augmentation 技术增强一个 enum 类型
    增强TypeScript和Angular中的Enum类型在TypeScript和Angular应用中,枚举类型(Enum)是一种非常有用的工具,用于定义一组命名的常量值。然而,有时我们需要在现有的枚举类型上进行扩展或增强。这正是Augmentation(增强)技术的用武之地。在本文中,我们将详细介绍如何使用增强技术......
  • eslint airbnb React18+typescript 依赖循环、import自动排序分组
    eslint终极规范爱彼迎eslint-config-airbnb请先阅读完下以下链接在来配置代码规范之什么是eslint,为什么要使用eslinteslint的配置项过多,针对js、ts、vue、jsx、tsx等等不同的规则,小公司或者个人项目可以使用成熟的eslint社区规范,如airbnb、standard、goole等。这里我们介绍......
  • 解析类型参数
    原文在这里。由IanLanceTaylor发布于2023年9月26日slices包函数签名slices.Clone函数很简单:它返回一个任意类型切片的副本:funcClone[S~[]E,Eany](sS)S{returnappend(s[:0:0],s...)}这个方法有效的原因是:向容量为零的切片追加元素将分配一个新的底层......
  • Flutter/Dart第08天:Dart类型(内置类型、记录、集合、泛型和类型别名)
    Dart内置类型(共10类)Dart官网文档:https://dart.dev/language/built-in-typesDart内置类型即DartSDK自带的类型,我们编程过程中可直接使用的类型,主要分为10类:数值类型:包括int类、double类等。字符串类型:即String类。布尔类型:即bool类。记录类型:即Record类,Dart3中开始支持(最......
  • 踩过的坑size_t类型下标遍历问题
    踩过的坑size_t类型下标逆序遍历通过下标逆序遍历以下代码是没有问题的strings;cin>>s;for(inti=s.length()-1;i>=0;--i)cout<<s[i];但是如果用无符号类型作为循环变量的类型会出现死循环的问题,因为i>=0永远是成立的strings;cin>>s;......
  • ypeScript入门到精通——TypeScript类型系统基础——枚举类型
    TypeScript类型系统基础——枚举类型 枚举类型由零个或多个枚举成员构成,每个枚举成员都是一个命名的常量。 在TypeScript中,枚举类型是一种原始类型,它通过enum关键字来定义。例如,我们可以使用枚举类型来表示一年四季,示例如下:enumSeason{Spring,Summer,......