前言 江湖有传"动态类型一时爽,代码重构火葬场",由于动态类型语言在开发时不受数据类型的约束,因此非常适合在项目原型阶段和初期进行快速迭代开发使用,这意味着项目未来将通过重写而非重构的方式进入成熟阶段.而在企业级应用开发中,每个系统特性其实都是需求分析人员与用户进行多次调研后明确下来的,后期需要重写的可能性微乎其微,更多的是修修改改,在单元测试不足常态化的环境下静态类型的优势就尤为突出.而TypeScript的类型系统和编译时类型检查机制则非常适合用于构建企业级或不以重写实现迭代升级的…
TypeScript(TS)是微软研发的编程语言,是JavaScript的超集,也就是在JavaScript的基础上添加了一些特性.其中之一就是类型声明. 一.基础类型 TS的基础类型有 Boolean,Number,String,Array,Tuple,Enum,Any,Void,Null,Undefined,Never,Object. ==布尔类型 Boolean== let isDone: boolean = false *在变量名后用冒号:T(T 代表TS的类型)声明变量的类型. ==数…
前言 也许前端的同学会问JavaScript从诞生至今都没有枚举类型,我们不是都活得挺好的吗?为什么TypeScript需要引入枚举类型呢? 也许被迫写前端的后端同学会问,TypeScript的枚举类型是和Java/.NET的一样吗? 下面我们来一起探讨和尝试解答吧! 前端一直都需要枚举 我敢保证,前端的同学都会万分肯定地告诉大家:我们从来没有写过枚举.那是因为虽然ECMAScript将enum作为保留字,但至ES2020为止还没有提出枚举的实现规范.语言没有提供规范和语言实现,不代表思想活跃勇…
TypeScript函数类型 TypeScript函数的参数 TypeScript函数的this与箭头函数 TypeScript函数重载 一.TypeScript函数类型 在上一篇博客中已经对声明TypeScript类型变量已经做了初步的解析,这里先回顾以下: //声明函数 function add1(x:number,y:number):number{ return x+y; } let add2 = function(x:number,y:number):number{ return x +…
目录  可定义的类型  类型声明  枚举  函数  接口 可定义的类型 以下所写的并不代表typescript的数据类型,而是在使用过程中可以用作定义的类型 number : 数值类型: string : 字符串类型: boolean : 布尔类型: Array : 数组类型: Date : 日期: RegExp : 正则: Error : 错误类型: any : 任意类型: undefined : undefined: null :空类型: Function : 函数: Promise : P…
一.前言 大家先看看下面的js,猜猜结果会怎样吧! 可选答案: ①. 获取id属性值为id的节点元素 ②. 抛namedItem is undefined的异常 var nodes = document.getElementsByName('dummyName'); var node = nodes.namedItem('id'); 答案是两种都有可能哦!document.getElementsByName在Chrome和FF30.0中返回NodeList(木有namedItem方法的),在IE…
//指定参数类型 function add(x:number,y:number){ console.log("x:"+x); // reutrn(x+y); } //指定函数类型 function add0(x:number,y:number):string{ // return((x+y).toString());//1 return((x+y)+"");//2 均可 } //匿名函数 let aa = function(x:number,y:string):st…
/* 接口的作用:在面向对象的编程中,接口是一种规范的定义,它定义了行为和动作的规范,在程序设计里面,接口起到一种限制和规范的作用.接口定义了某一批类所需要遵守的规范,接口不关心这些类的内部状态数据,也不关心这些类里方法的实现细节,它只规定这批类里必须提供某些方法,提供这些方法的类就可以满足实际需要. typescrip中的接口类似于java,同时还增加了更灵活的接口类型,包括属性.函数.可索引和类等. 定义标准. */ // 函数类型接口:对方法传入的参数 以及返回值进行约束 批量约束 //…
前言  通过<WebComponent魔法堂:深究Custom Element 之 面向痛点编程>,我们明白到其实Custom Element并不是什么新东西,我们甚至可以在IE5.5上定义自己的alert元素.但这种简单粗暴的自定义元素并不是我们需要的,我们需要的是具有以下特点的自定义元素: 自定义元素可通过原有的方式实例化(<custom-element></custom-element>,new CustomElement()和document.createEle…
一.前言 最近在研究Promises/A+规范及实现,而Promise/A+规范的制定则很大程度地参考了由日本geek cho45发起的jsDeferred项目(<JavaScript框架设计>提供该资讯,再次感谢),追本溯源地了解jsDeferred是十分有必要的,并且当你看过官网(http://cho45.stfuawsc.com/jsdeferred/)的新手引导后就会有种不好好学学就太可惜的感觉了,而只看API和使用指南是无法满足我对它的好奇心的,通过解读源码读透它的设计思想才是根本.…