typeof

JavaScript 语言中,typeof 运算符是一个一元运算符,返回一个字符串,代表操作数的类型。

注意,这时 typeof 的操作数是一个值。JavaScript 里面,typeof运算符只可能返回八种结果,而且都是字符串。


TypeScript typeof运算符移植到了类型运算,它的操作数依然是一个值,但是返回的不是字符串,而是该值的 TypeScript 类型。


区别:

1: JavaScripttypeof 遵守 JavaScript 规则,TypeScript typeof 遵守 TypeScript 规则。它们的一个重要区别在于,编译后,前者会保留,后者会被全部删除。

2:由于编译时不会进行 JavaScript 的值运算,所以TypeScript 规定,typeof 的参数只能是标识符,不能是需要运算的表达式

    eg: type T = typeof Date();    //报错

3:typeof命令的参数不能是类型

    eg:    type Age = number;

            type MyAge = typeof Age;    //报错

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容