05 2020 档案
摘要:vue3.0 beta 版本已经发布有一阵子了,是时候上手体验一波了~ 注意,本文所有演示都是基于 vue3.0 beta 版本,不保证后续正式版 api 不改动。等官方文档出来后,以官网为准。 环境搭建 直接使用脚手架,如果本地没有安装的可以执行脚手架安装命令: npm install -g @v
阅读全文
摘要:使用 typescript 时,在一些定义中如果你没有明确识指定类型,编译器会自动推断出合适的类型,比如: let str = 'hello' str = 123 // error,不能将类型“123”分配给类型“string” 可以看到,定义变量 str 时并没有指定它的类型,而是直接赋值一个字符
阅读全文
摘要:typescript中,this 也是一种类型,一个计算器的例子: class Counter{ constructor(public count:number = 0){} add(value:number){ this.count += value return this } subtract(
阅读全文
摘要:类型别名 类型别名就是给一种类型起个别的名字,之后只要使用这个类型的地方,都可以用这个名字作为类型代替。它只是起了一个名字,并不是创建了一个新类型。 定义类型别名,使用 type 关键字: type StringType = string let s: StringType s = 'hello'
阅读全文
摘要:null 和 undefined 是 ts 中的基础类型,分别具有值 null 和 undefined,默认情况下它们是所有类型的子类型,即可以赋值给任意类型,如: let s: string = 'hello' s = null //right s = undefined // right 但当我
阅读全文
摘要:当遇到需要告诉编译器某个值是指定类型的场景时,我们可以使用类型断言,比如这个例子: const valueList = [123, "hello"] // getValue 函数随机返回数字类型或者字符串类型 function getValue() { const num = Math.random
阅读全文
摘要:交叉类型 交叉类型的表示方法为 Type1 & Type2,结果是取这两个类型的并集。这里是官网的例子,做了注释: // 定义函数 extend,用来合并对象 function extend<T, U>(first: T, second: U): T & U { // result 是要返回结果,类
阅读全文
摘要:函数兼容性 函数参数个数 比如有如下两个函数: let x = (a: number) => 0 let y = (b: number, c: string) => 0 函数参数个数如果要兼容,需要满足条件:如果对函数 y 进行赋值,则 x 中的每个参数都应在 y 中有对应,也就是 x 的参数个数小
阅读全文
摘要:介绍 这里引入官网一段介绍,了解个大概: 软件工程中,我们不仅要创建一致的定义良好的API,同时也要考虑可重用性。 组件不仅能够支持当前的数据类型,同时也能支持未来的数据类型,这在创建大型系统时为你提供了十分灵活的功能。 在像C#和Java这样的语言中,可以使用泛型来创建可重用的组件,一个组件可以支
阅读全文
摘要:函数类型 为函数定义类型 给函数定义类型,包括对参数和返回值的类型定义: function add(arg1: number, arg2: number): number { return arg1 + arg2 } // 箭头函数 const add = (arg1: number, arg2:n
阅读全文
摘要:类实现接口 接口可以规定一个类的定义必须包含某些内容。类实现接口使用关键字 implements。 interface UserInterface{ name:string; age:number; } // 类实现接口 class User implements UserInterface{ na
阅读全文
摘要:typescript 中的类与 es6 中的类在使用上基本一样,举个小例子: class Person{ name:string; constructor(name:string){ this.name = name } sayHi(){ console.log('hi') } } // 定义 Te
阅读全文
摘要:TypeScript的核心原则之一是对值所具有的结构进行类型检查,而接口就是用来定义值的结构,接口自身当作类型来用。 基本使用 先看一段代码: function func(obj: { name: string }): void { console.log('hello ' + obj.name)
阅读全文