xgqfrms™, xgqfrms® : xgqfrms's offical website of cnblogs! xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!

TypeScript subtype All In One

TypeScript subtype All In One

subtype / assignment

any unknown object void undefined null never
any →
unknown →
object →
void →
undefined →
null →
never →

https://www.typescriptlang.org/docs/handbook/type-compatibility.html#subtype-vs-assignment

demo

// export {};

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

// let test: boolean = null;
// Type 'null' is not assignable to type 'boolean'.(2322)

// let test: boolean = undefined;
// Type 'undefined' is not assignable to type 'boolean'.(2322)


// let test: object = Object;
// let test: object = Array;
// let test: object = Number;
// let test: object = String;

// let test: object = {};
// let test: object = [];
// let test: object = null;
// Type 'null' is not assignable to type 'object'.(2322)
// let test: object = undefined;
// Type 'undefined' is not assignable to type 'object'.(2322)



// let test: unknown = undefined;
// let test: unknown = null;

// let test: any = undefined;
// let test: any = null;

// let test: void = undefined;
// let test: void = null;
// Type 'null' is not assignable to type 'void'.(2322)

// let test: undefined = undefined;
// let test: undefined = null;
// Type 'null' is not assignable to type 'undefined'.(2322)

// let test: null = null;
// let test: null = undefined;
// Type 'undefined' is not assignable to type 'null'.(2322)


// let test: never = undefined;
// Type 'undefined' is not assignable to type 'never'.(2322)
// let test: never = null;
// Type 'null' is not assignable to type 'never'.(2322)
// let test: never = '';
// Type 'string' is not assignable to type 'never'.(2322)

let test: never;


console.log('test =', test);
// Variable 'test' is used before being assigned.(2454)

// let test = 'abc';
// console.log('test =', test);

// 模块声明
export {};


// export {};

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

let test: boolean = null;
// Type 'null' is not assignable to type 'boolean'.(2322)
let test2: boolean = undefined;
// Type 'undefined' is not assignable to type 'boolean'.(2322)

console.log('test =', test);
console.log('test2 =', test2);

// let test = 'abc';
// console.log('test =', test);

// 模块声明
export {};


refs



©xgqfrms 2012-2025

www.cnblogs.com/xgqfrms 发布文章使用:只允许注册用户才可以访问!

原创文章,版权所有©️xgqfrms, 禁止转载 🈲️,侵权必究⚠️!


posted @   xgqfrms  阅读(37)  评论(2编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2021-02-04 日天 === 昊
2021-02-04 Apple Watch Series 6 编织表带如何清洗
2021-02-04 网易吃鸡 mac 版,没有声音
2021-02-04 Excel 如何固定表头
2021-02-04 js camelCase formatter
2021-02-04 最新 uni-app 免费教程
2021-02-04 智能广告投放平台 All in One
点击右上角即可分享
微信分享提示