11 2019 档案
摘要:⒈交叉类型(Intersection Types) 交叉类型是将多个类型合并为一个类型。 这让我们可以把现有的多种类型叠加到一起成为一种类型,它包含了所需的所有类型的特性。 例如, Person & Serializable & Loggable同时是 Person 和 Serializable 和
阅读全文
摘要:在代码的实现或者调用上能设定一定的限制和规范,就像契约一样。通常,我们把这种契约称为接口。 TypeScript的核心原则之一是对值所具有的结构进行类型检查。 有时称为“鸭式辨型法”或“结构性子类型化”。 在TypeScript里,接口的作用就是为这些类型命名,以及为你的代码或第三方代码定义契约。
阅读全文
摘要:⒈迭代器(iterator) 1.可迭代性 当一个对象实现了Symbol.iterator属性时,我们认为它是可迭代的。 一些内置的类型如 Array,Map,Set,String,Int32Array,Uint32Array等都已经实现了各自的Symbol.iterator。 对象上的 Symbo
阅读全文
摘要:自ECMAScript 2015(ES6)起,symbol成为了一种新的原生类型,就像基本类型number和string一样。 ⒈介绍及使用方式 TypeScript中使用symbol类型和JavaScript的使用方式如出一辙,也是通过Symbol构造函数创建的。 let sym1 = Symbo
阅读全文
摘要:我们常常会有这样的场景,比如与后端开发约定订单的状态开始是0,未结账是1,运输中是2,运输完成是3,已收货是4。这样的纯数字会使得代码缺乏可读性。枚举就用于这样的场景。枚举可以让我们定义一些名字有意义的常量。使用枚举可以清晰地表达我们的意图。TypeScript支持基于数字枚举和字符串的枚举。 ⒈数
阅读全文
摘要:⒈下载描述文件 wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta6/aio/deploy/recommended.yaml ⒉在主节点上运行 kubectl apply -f recommended.yam
阅读全文
摘要:导出表结构语句1、执行以下查询 SELECT 表名称 = case when a.colorder=1 then d.name else '' end, 表说明 = case when a.colorder=1 then isnull(f.value,'') else '' end, 序号 = a.
阅读全文
摘要:⒈介绍 软件工程中,我们不仅要创建一致的定义良好的API,同时也要考虑可重用性。泛型可用于提升代码的重用性,我们希望自己编写的代码,无论是模块还是组件,不仅能支持当前设计的数据类型,而且也能支持将来的数据类型,这在大型系统中是非常基础且重要的功能。所以我们常常能在各种各样的静态类型的语言中看到泛型设
阅读全文
摘要:⒈解构数组 最简单的解构莫过于数组的解构赋值了: let input = [1, 2]; let [first, second] = input; console.log(first); // outputs 1 console.log(second); // outputs 2 这创建了2个命名变
阅读全文
摘要:1.全新的变量声明方式 let和const是JavaScript ES6中新添加的变量声明方式。let在很多方面与var是相似的,但是它可以避免一些在JavaScript里常见一些问题。 而const则是对let的一个增强,它将阻止对一个变量再次赋值(二次赋值)。 因为TypeScript是Java
阅读全文
摘要:⒈TypeScript的类型 JavaScript语言的数据类型包括以下7种: 1.boolean(布尔),true || false 2.null,表明null值得特殊关键字,JavaScript是大小写敏感的,不要误写成Null或者NULL 3.undefined,变量未定义时的属性 4.num
阅读全文
摘要:⒈TypeScript简介 1.JavaScript的超集 2.支持ECMAScript6标准,并支持输出ECMAScript3/5/6标准的纯JavaScript代码 3.支持ECMAScript未来提案中的特性,比如异步功能和装饰器 4.支持类型系统且拥有类型推断 5.支持运行在任何浏览器、No
阅读全文