【TypeScript--交叉类型】教程文章相关的互联网学习教程文章

TypeScript 学习笔记之基本类型

在 TypeScript 中一共有 7 种基本类型。 1、boolean代码如下: var isDone: boolean = false;2、number代表 JavaScript 中的数字。在 JavaScript 中,无论是“整数”还是“浮点数”,都是以双精度浮点类型存储的。代码如下: var height: number = 6;3、string代表字符串。跟 JavaScript 一样,可以使用一对双引号(")或一对单引号()来表示字符串。代码如下: var name: string = "bob"; name = smith;4、arrayTypeScript 中有两种...

TypeScript Handbook 1——基本类型(翻译)【代码】

在编程中我们需要用到的一些简单的数据元素,比如:数值,字符串,结构体,布尔型,等等。如你所愿,在javascript里面的那些数据类型,TypeScript都支持,with a convenient enumeration type thrown in to help things along.(这句暂时没理解好) 布尔型(Boolean)最基本的数据类型是简单的真或假,在javascript和TypeScript(以及其他语言)中定义为‘boolean‘。var isDone: boolean = false; 数值型(Number)和JavaScript一样,在...

TypeScript高级类型与实用程序【代码】【图】

TypeScript高级类型与实用程序 老袁 前端先锋 // 每日前端夜话 第467篇// 正文共:1200 字// 预计阅读时间:10 分钟我们一起来看一下今天的大纲,希望这些高级类型 与实用程序能够帮助大家节省一些开发的时间:“ConstructorParameters Exclude Extract InstanceType NonNullable Parameters Partial Readonly ReadonlyArray Pick Record Required ReturnType1. ConstructorParameters:类构造函数的参数类型的元组 class User {...

javascript-Typescript-索引表达式参数的类型必须为’string’,’number’,’symbol’或’any’【代码】

我正在使用打字稿1.7.5,并且遇到以下情况,索引表达式参数必须为’string’,’number’或’any’类型的错误:const settings: any = {};_.forEach(data, (d, name: string) => { //data is just an objectsettings[name] = {};const colors = ColorGenerator.generateColors(Object.keys(d.ch).length);_(d.ch).keys().zip(colors).forEach(([channel, color]) => {// name and channel are both stringssettings[name][channel] = ...

javascript-用我自己的模型类型属性模拟Angular2 / typescript的数据【代码】

我是Angular2世界的新手.为了学习Angular,我遵循了不同的教程,现在我尝试建立一家商店以了解更多信息.但是我马上被困住了. 我正在尝试将此模型引入Angular: 但是我没有成功.我得到不同的错误之类的.TypeError: Cannot read property ‘description’ of undefined and errorTS2322: Type ‘{ … }’ is not assignable to type ‘Product[]’.Type …这是我到目前为止所得到的: 产品类型属性模型export class ProductTypeAttribu...

Typescript类型系统小tips

2.1 "鸭子"类型 "鸭子"类型??(黑人问号), 第一次看到这名词我也很懵逼, 其实它说的是结构型类型,而目前类型检测主要分为结构型(structural)类型以及名义型(nominal)类型。interface Point2D {x: number;y: number; } interface Point3D {x: number;y: number;z: number; } var point2D: Point2D = { x:0, y: 10} var point3D: Point3D = { x: 0, y: 10, z: 20}function iTakePoint2D(point: Point2D) { /*do sth*/ }iTakePoint2D(...

javascript-如何在TypeScript中为节点使用无类型的JS NPM模块?【代码】

我刚刚开始使用TypeScript进行实验,并且我有以下项目结构:-src | index.ts | MyClass.ts -node_modules-npm_js_module| index.js| utils.js- src| someModuleFile.js| someModuleFile2.js我需要在MyClass.ts中使用npm_js_module / index.js(以及pm_js_module / src中的函数,但index.js需要这些函数)中的函数.该模块是无类型的,没有其他人可以在线输入.甚至可以在打字稿项目中使用未打字的JavaScript NPM模块吗? 当我尝试编译该项...

javascript-如何使TypeScript抱怨与其他类型的字符串连接?【代码】

为什么即使在严格模式下TypeScript也不抱怨function test(firstName: string, lastName?: string): string {return firstName + " " + lastName; }test('John'); 也没有这个const str: string = ''; const num: object = {};const result: string = str + num; 我不记得要在屏幕上显示“ John undefined”或“ [object Object]”的情况.是类型检查的全部要点应该捕获此类错误吗? (流程做到了)解决方法:创建类型安全的可变参数函数...

javascript – Typescript:如何映射联合数组类型?【代码】

我有以下结构:interface Test1 {number: number; } interface Test2 extends Test1 {text: string; }let test: Test1[] | Test2[] = []; test.map(obj => {}); // does not work我收到错误:Cannot invoke an expression whose type lacks a call signature. Type ‘{ (this: [Test1, Test1, Test1, Test1, Test1], callbackfn: (this: void, value: Test1, index: nu…’ has no compatible call signatures如何映射测试变量?解...

javascript – 通用无状态组件的类型是什么?或者在typescript中扩展泛型函数接口以进一步通用?【代码】

问题:无状态功能组件的接口给出为interface SFC<P = {}> {(props: P & { children?: ReactNode }, context?: any): ReactElement<any> | null;propTypes?: ValidationMap<P>; }我的组件的prop类型也是通用的:interface Prop<V>{num: V; }如何正确定义我的组件?如:const myCom: <T>SFC<Prop<T>> = <T>(props: Prop<T>)=> <div>test</div>在字符27处出现错误,找不到名称’T’ 这是:Typescript Playground of modified example M...

javascript – Typescript – 混合类型【代码】

我在Typescript手册中看到了这个例子:interface Counter {(start: number): string;interval: number;reset(): void; }var c: Counter; c(10); c.reset(); c.interval = 5.0;但是当我尝试做c(10);或者设置c.interval = 5.0我收到错误 – 无法设置undefined的属性’interval’ 我知道我能做到:var c: Counter; c = function(s: number){return "'" + s + "'"; }缺少什么 – (或者这是一个不完整的例子)? 更新: There is a simil...

javascript – TypeScript,什么是对象文字的调用签名?它们如何与泛型类型一起使用?【代码】

我正在阅读TypeScript documentation的这一部分,在泛型类型部分下,以下两个被认为是等价的: 代码示例1function identity<T>(arg: T): T {return arg; }let myIdentity: <T>(arg: T) => T = identity;代码示例2function identity<T>(arg: T): T {return arg; }let myIdentity: {<T>(arg: T): T} = identity;文档说明这可能是由于以下原因.We can also write the generic type as a call signature of an object literal type尽管有...

javascript – typescript是否允许接口和字符串联合类型?【代码】

我正在尝试实现一个方法,它采用一个键参数,该键参数是字符串或可索引类型接口IValidationContextIndex的实例.实现如下:/*** Gets all ValidationContext container values.* @returns An array of ValidationContext instances contained in the cache.*/public static getValidationContextValues(key: IValidationContextIndex | string ): Array<ValidationContext> {if (key instanceof IValidationContextIndex ) [return Ob...

javascript – TypeScript – 扩展标准lib Math的类型定义【代码】

我想使用javascript库 seedrandom.js 在一个TypeScript项目中,却无法弄清楚如何为这个lib编写一个类型定义,它使用另一种方法扩展了标准的javascript Math库:Math.seedrandom();解决方法:只需添加到Math界面即可interface Math {seedrandom(seed?: string); }Math.seedrandom();

javascript – TypeScript – 定义类型的子集【代码】

说我有这样的类型:interface IAll {foo: boolean,bar: Function,baz: number }而不是手动定义IAll的所有可能的子类型,如下所示:interface IAll1 {foo: boolean,bar: Function, }interface IAll2 {bar: Function,baz: number }interface IAll3 {foo: boolean, }interface IAll4 {foo: boolean, }…等等 然后做type IAll = IAll1 | IAll2 | IAll3 ... etc.有没有办法让TypeScript静态检查对象是否是另一个的子类型或子集? 这对于我...