TYPESCRIPT 类 技术教程文章

typescript 类 -- 学习笔记三【代码】

typescript 类 -- 学习笔记三 class Point {public x: numberpublic y: numberconstructor(x: number, y: number) {this.x = xthis.y = y}public getPosition() {return `${this.x} ${this.y}`} }const point = new Point(1, 2)class Parent {public name: stringconstructor(name: string) {this.name = name} }class Child extends Parent {constructor(name: string) {super(name)} }// public 公共// private 私有的// protect...

typeScript入门(二)函数与类

3.ts的函数1)函数的返回值和参数在函数的定义需要定义其的返回值可以void,来表示没有返回值函数参数的定义,举个例子分析下吧name:string,age?:number=23冒号后面是参数的类型,加个?表示这个参数不是必传的,所以你就可以在这理解到,这个?如果某个参数写了,那后面都是需要加的,因为它不是必传的。在类型后面用个赋值方式就是给这个参数写一个默认参数。当参数很多的时候,你就用需要用三点运算符数组来接受参数。(...arr:any...

TypeScript(04): 基础类型【代码】【图】

TypeScript 包含的数据类型如下表:Any 类型任意值是 TypeScript 针对编程时类型不明确的变量使用的一种数据类型,它常用于以下三种情况。1、变量的值会动态改变时,比如来自用户的输入,任意值类型可以让这些变量跳过编译阶段的类型检查,示例代码如下:let x: any = 1; // 数字类型 x = ‘I am who I am‘; // 字符串类型 x = false; // 布尔类型改写现有代码时,任意值允许在编译时可选择地包含或移除类型检查,示例代码...

typescript中高级类型之交叉类型与联合类型【代码】

交叉类型交叉类型的表示方法为 Type1 & Type2,结果是取这两个类型的并集。这里是官网的例子,做了注释:// 定义函数 extend,用来合并对象function extend<T, U>(first: T, second: U): T & U {// result 是要返回结果,类型断言为 T & Ulet result = {} as T & U// 遍历 first,结果存入 resultfor(let id in first){// 不能将类型“T”分配给类型“T & U”,所以需使用断言result[id] = first[id] as any}// 遍历 second,结果存...

javascript – 如何在TypeScript中将类方法作为jQuery EventHandler附加【代码】

我正在将一些JavaScript代码转换为TypeScript,我无法弄清楚jQuery EventHandler的签名应该如何. 这是我在JavaScript中所拥有的,但简化为更通用的术语(我使用通过元素分发的自定义事件的某种pub-sub或observable模式):Observer.prototype._subscribe = function() {this._row.bind('onItemChanged', this, this._onChangedHandler); }; Observer.prototype._onChangedHandler= function(event, someString, someObject) {var that ...

TypeScript——基础——原始数据类型【代码】

前言:JavaScript原始数据类型主要分为布尔值、数值、字符串、nul、undefined和ES6中的新类型Symbol和BigInt TypeScript中原始数据类型的应用 一、布尔值(boolean)let isDone : boolean = false ;二、数值(number)let decLiteral: number = 6; let hexLiteral: number = 0xf00d; let binaryLiteral: number = 0b1010;//ES6 中的二进制表示法 let octalLiteral: number = 0o744;//ES6 中的八进制表示法 let notANumber: number ...

TypeScript 的IndexedDB 帮助类 笔记

DataPak {public CodeID: number = 1;public Data: any;public Message: string = ‘‘;public Description: string = ‘成功‘;constructor(Data: any = null, CodeID: number = 1, Description: string = ‘成功‘, Msg: string = ‘‘) {this.CodeID = CodeID;this.Data = Data;this.Message = Msg;this.Description = Description;}; };class DB_Instance {private DB_Cache: string = ‘DB_Cache‘;private DB_VERSION: numbe...

javascript – 类似于Revealing Module Pattern结构的TypeScript代码【代码】

我想将我编写的一些JavaScript代码转换为TypeScript.作为一名JavaScript开发人员,我对TypeScript语法和思维方式都很陌生. 令我头疼的是我很难将使用Revealing Module Pattern的一些代码转换成TypeScript. 一个例子如下://JS Code var obj;//code... (function(){function myFunction(){//do work}function MyOtherConstructor(){return {publicMethod: myFunction}}obj = new MyOtherConstructor(); })();//use obj.publicMethod ...

javascript – 如何在TypeScript中新建一个类【代码】

我是TypeScript的新手,但在C#方面经验丰富.我正在尝试做一些非常简单的事情,而且我缺少一些基本的东西.我正在使用Protractor在Angular前端编写用户测试.我正在使用页面对象模式,我想将页面对象保存在与用户测试不同的文件中,这样我就可以在多个用户测试文件中共享页面对象. 我一直收到一个错误,说当我尝试新建这个类时,页面对象类不是一个函数.我究竟做错了什么?这是我的代码失败的错误: TypeError:UserTests.DashboardPage不是...

javascript-在Typescript中使用Object.keys时避免隐式“ any”类型【代码】

我有一个带有已键入键的对象,并且我想遍历它并保持其类型,避免“元素隐式具有“任何”类型,因为“ ContactList”没有索引签名”. 我知道在Typescript的GitHub页面上对此进行了详尽的讨论,但是我在这里找不到任何解决方案.尝试用枚举和联合,但我仍然收到错误. 枚举(playground)的示例enum Names {Joe,Bill,Bob }type ContactList = {[key in Names]: {isFriend: boolean;} }const contactList: ContactList = {[Names.Joe]: {isFrie...

c# – typescript编译器可以生成POCO .NET类型/程序集吗?

我正在使用MVC和EF的淘汰赛进入应用程序开发,我正在研究如何在配方中添加TypeScript可能会帮助我. 我喜欢在IDE中创作的更清晰的机制,但缺少的东西似乎是能够从其他.NET程序集引用typescript中定义的接口. 我是对的,除了尚未完成之外没有什么可以阻止这种情况发生吗?我很好奇是否需要它,或者我是否以其他人不是的方式查看问题域. 我看到实用程序的原因是因为目前我无法在一个地方定义给定的DTO.我必须在我的C#View模型和javascript...

javascript – 如何在index.d.ts typescript定义文件中引用Redux类型?【代码】

我想创建一个index.d.ts文件,该文件引用了一些名为redux的流行NPM包中的某些类型. 我已经尝试过的事情: (在我的index.d.ts文件的顶部) > ///< reference path =“../../../ node_modules / redux / index.d.ts”/> 这不起作用.我怀疑这是因为redux / index.d.ts文件根本没有声明命名空间.当我编辑redux / index.d.ts文件并用声明命名空间Redux {…}包装所有内容时,一切正常.我在redux@^4.0.0. > ///< reference types =“redux”/...

javascript – 我可以在TypeScript中将参数类型指定为多种类型之一而不是任何类型吗?【代码】

在TypeScript中的方法声明中,参数可以是字符串,布尔值或数字的类型.我是否必须将其声明为任何[],或者是否有办法将输入类型限制为这三种类型?解决方法:打字稿1.4引入了Union Types所以答案现在是肯定的,你可以.function myFunc(param: string[] | boolean[] | number[]): void;使用除指定类型之外的其他类型将触发编译时错误. 如果您需要多个特定类型的数组,您也可以使用联合类型:function myFunc(param: (string|boolean|number)...

在Typescript中,您如何区分Node和vanilla Javascript错误类型?【代码】

我有以下功能:/*** Retrieves a component template from filesystem*/ const getComponentTemplate = async (p: string ): Promise<string> => {let template: stringtry {template = await fs.readFile(p, {encoding: 'utf8'})} catch (e) {if (e instanceof Error && e.code === 'ENOENT') {throw new Error(`template for element type ${elementType} not found`)}throw e}return template }打字稿在这里抱怨: [ts]“错误”...

typeScript与JavaScript 数据类型【代码】

JS 数据类型 JS数据类型:JS的基本类型和引用类型有哪些呢? 基本类型(单类型):除Object。 String、Number、boolean、null、undefined symbol、bigInt 引用类型:object。里面包含的 function、Array、Date。 ES6 中新增了一种 Symbol 。这种类型的对象永不相等,即始创建的时候传入相同的值,可以解决属性名冲突的问题,做为标记。 谷歌67版本中还出现了一种 bigInt。是指安全存储、操作大整数。(但是很多人不把这个...

PHP的混合类型与Typescript的任何【代码】

我在自定义函数中尝试PHP的混合类型,但这个错误让我感到难过(标点符号是我的):TypeError: Argument 1 passed to <functionName>() must be an instance of mixed, string given.下面的一些(示例)代码导致错误消息,并说明了我希望实现的目标.下面是一些TLDR的进一步解释.但basicall我看到混合作为一些PHP的本机函数(例如is_string函数)的参数类型,并希望在自定义函数中执行相同操作. 如何明确指定函数参数是multitype / mixed / an...

javascript – Typescript:对象到类【代码】

假设我有一个C类和一个Object O实例(来自JSON).class C {str:string;num:number; }var o = JSON.parse ("{\"num\":123, \"str\":\"abc\"}");有没有办法我可以用o分配/初始化一个C的实例,它检查未定义的值以及在复制构造函数/函数中我自己做的类型? 如果值缺失/未定义或类型不匹配,我想得到错误或异常. 谢谢!解决方法:您可以使用Object.assign:class C {str:string;num:number; } var o = JSON.parse("{\"num\":123, \"str\":\"a...

如何解决’属性’宽度’在类型’HTMLElement’上不存在.’当使用// @ ts-check在vscode中键入检查Javascript(NOT Typescript)时?【代码】

在view.js文件中:const canvas = document.getElementById('canvas'); ... export {canvas, }; 在main.js文件中:import * as view from '../src/view.js';...xPosition: view.canvas.width / 2,给我’属性’宽度’在类型’HTMLElement’上不存在.类型检查错误. 我不知道如何继续,我对打字稿没有任何了解,而且程序是用javascript编写的.我读过的所有解决方案都需要使用打字稿,这在本例中没用. 我有什么办法可以摆脱这个错误吗? 编...

TypeScript:如何导入ES6 JavaScript类?【代码】

我有一个名为DB的ES6 JavaScript类,定义如下:// db.js "use strict";export default class DB {... }还有一个TypeScript文件,如下所示:// surgeons.ts "use strict";import DB from "./db";我希望这可以正常工作,但是会出现以下错误:Browserify Error { [TypeScript error: app/source/common/surgeons.ts(3,16): Error TS2307: Cannot find module './db'.]message: 'app/source/common/surgeons.ts(3,16): Error TS2307: Cann...

TypeScript中的数据类型有哪些?(代码示例)【图】

每当创建一个变量时,其目的是为该变量分配一些值,但是可以为该变量分配什么类型的值取决于该变量的数据类型。在typeScript中,type System表示typeScript支持的不同类型的数据类型。数据类型分类如下:内置数据类型:TypeScript有一些预定义的数据类型-内置数据类型关键词描述NumberNumber它用于表示整数和浮点数BooleanBoolean代表真假StringString它用于表示一系列字符VoidVoid通常用于函数返回类型NullNull当对象没有任何值时使...