TypeScript 类型推论整理
来源:互联网 发布:黑暗之魂3男号捏脸数据 编辑:程序博客网 时间:2024/04/30 12:53
一、类型推论
TypeScript里,在有些没有明确指定出类型的地方,类型推论会绑定提供类型。
1.最佳通用类型,自动给出
let x = 3;console.log(typeof x);//输出类型number//自动给出一个兼容所有类型的类型let array = [0, 2, null]console.log(typeof array);//输出类型 object自定义指定推断类型
function __typeof__(objClass) { if (objClass && objClass.constructor) { var strFun = objClass.constructor.toString(); var className = strFun.substr(0, strFun.indexOf('(')); className = className.replace('function', ''); return className.replace(/(^s*)|(s*$)/ig, ''); } return typeof (objClass);}class Animal { name: string; show() { //获取当前js执行的父类名称 console.log(__typeof__(this)); }}class Rhino extends Animal { move(distance: number) { console.log(`Rhino当前活动:${distance}`); }}class Elephant extends Animal { move(distance: number) { console.log(`Elephant当前活动:${distance}`); }}class Snake extends Animal { move(distance: number) { console.log(`Snake当前活动:${distance}`); }}let zoo = [new Rhino(), new Elephant(), new Snake()];console.info(typeof zoo);let zoo2: Animal[] = [new Rhino(), new Elephant(), new Snake()];console.info(typeof zoo2);//循环遍历zoo2.forEach(element => { element.show();});2.上下文类型
TypeScript类型推论也可能按照相反的方向进行,即‘按上下文归类’。表达式的类型与所处的位置相关。
window.onmousedown = function(mouseEvent) { console.log(mouseEvent.buton); //<- Error};使用any类型,可以使编译器忽略,类型判断
window.onmousedown = function(mouseEvent: any) { console.log(mouseEvent.buton); //<- Now, no error is given};
更多:
TypeScript 枚举使用整理
TypeScript 泛型<T>使用整理
TypeScript 函数使用整理
阅读全文
0 0
- TypeScript 类型推论整理
- TypeScript 类型兼容性整理
- TypeScript 高级类型整理
- TypeScript 简介整理
- TypeScript 类使用整理
- TypeScript 函数使用整理
- TypeScript 枚举使用整理
- TypeScript 命名空间整理
- typescript[1] 基本类型
- TypeScript-基础类型学习
- typescript基础类型
- TypeScript函数类型
- typescript 之 基础类型
- TypeScript-基础类型
- TypeScript的映射类型
- Typescript(基础类型)
- typeScript中的类型
- TypeScript 泛型<T>使用整理
- 记录一次webpack2的项目架构
- HTTP协议的8种请求类型介绍
- TCP进阶基本功---tcp挥手状态
- 数据描述预备,几个概念
- js html dom
- TypeScript 类型推论整理
- 基于nodeJS的前端开发到底啥意思?
- 线程池的参数【转】
- 改变未来发展方向
- threadlocal
- 关于gostR28147_gcfb的问题
- leetcode 66:Plus One
- hadoop 2.8 centos vm 集群配置
- threadlocal