【javascript – 在TypeScript中哪种对象实例创建方式最快?】教程文章相关的互联网学习教程文章

TypeScript入门知识五(面向对象特性二)

1.泛型(generic)参数化的类型,一般用来限制集合的内容class Person {   constructor(private name: string) {   }   work() {   }}var worker: Array<Person> = [];//这里指定数组中只能放Person类创建的对象worker[0] = new Person("zhang san");2.接口interface用来建立某种代码约定,使得其他开发者在调用某个方法或者创建新的类时必须遵循接口所定义的代码约定。(一)//接口声明属性,  interfac...

JavaScript面向对象轻松入门之多态(demo by ES5、ES6、TypeScript)【代码】

多态(Polymorphism)按字面的意思就是“多种状态”,同样的行为(方法)在不同对象上有不同的状态。  在OOP中很多地方都要用到多态的特性,比如同样是点击鼠标右键,点击快捷方式、点击桌面空白处、点击任务栏等弹出的菜单都是不同的。方法重写(override):  即子类定义一个与父类名字相同的方法,以此覆盖父类方法,以此来实现不同的功能。 1function Animal(){}2var AnimalP = Animal.prototype;3 AnimalP.eat = funct...

javascript – TypeScript – 从对象创建联合【代码】

我正在使用typescript创建一个EventEmitter,我无法找到一种方法来执行以下操作: 说我有这样的界面:interface EventEmitterSubscription { dispose(): void }// here it is interface EventEmitter<T extends { [key: string]: any }> {onAnyEvent(callback: (event: { type: ???, payload: ??? }) => void): EventEmitterSubscription// ... }我找不到一种方法来输入onAnyEvent回调,例如,对于像这样的eventEmitter:EventEmitter...

javascript – Angular2 / Typescript / ngRx – TypeError:无法分配给对象的只读属性【代码】

在构造函数中,我做了类似的事情selectedDate: Object; // construtor this.selectedDate = {}; this.selectedDate['date'] = new Date(); this.selectedDate['pristine'] = new Date();在按钮单击调用的另一个函数中,我执行以下操作:this.selectedDate['date'] = new Date(this.selectedDate['pristine']);我收到以下错误:TypeError: Cannot assign to read only property ‘date’ of object ‘[object Object]’解决方法:致Rya...

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...

javascript – TypeScript中的嵌套对象【代码】

如何在TypeScript中声明像嵌套对象的JavaScript?let endpoints = {auth: {login: "http://localhost:8079/auth/login"} };以下不起作用:private endpoints: Object = {auth: {login: "http://localhost:8079/auth/login"} };抛出: 错误TS2339:“对象”类型上不存在属性“auth”.解决方法:您可以使用接口:interface EndpointAuth {login: string; }interface Endpoint {auth: EndpointAuth; }let endpoints: Endpoint = {auth:...

在Typescript / JavaScript中展开Promise对象【代码】

我是JavaScript / TypeScript Promise返回类型的新手. 问题是我正在托管一个rest API端点,它在内部调用另一个使用JS Request模块返回Promise对象的服务的API. 我想打开内部API promise响应并创建一个新的普通Typescript对象,最后返回新修改的响应对象而不是Promise. 以下是描述我的问题的示例代码:export class SampleClass {public process(): NewResponse {const newResponse: NewResponse = new NewResponse();// invokeOtherA...

javascript-使用Typescript,Type Guard和反射来针对类型验证对象【代码】

我试图通过使用ES6,Typescript进行干燥,我创建了一个接口,将其称为具有属性的IUser. >在运行时知道对象是否符合接口的最佳方法是什么?>如何获取错误列表? IDE知道缺少哪些属性,为什么不能呢? 我已经看到了使用反射和其他技术一次测试一个属性的示例.但是必须有一种方法可以轻松地知道一个对象是否实现了所有属性,以及是否实现了所有属性. IK知道某些属性是可选的“?”而且我们知道类型,这应该是可能的!type IUser = {name: st...

Angular 2:TypeScript / Javascript:将JSON字符串值转换为正确的JSON对象【代码】

在我的Angular 2应用程序中,我收到了以下JSON对象,用于我在Java Spring的api层开发的api调用.春天的控制器返回响应数据的Map. (我已经尝试返回Map,但没有在GET调用中呈现任何内容)当在Angular端收到时,我的JSON对象中每个顶级键值对的值(用引号括起来的JSON数组)用引号括起来,无法为HTML中的此JSON数组字符串的名称索引/筛选JSON对象.例如,我无法使用“US /种族”,只检索相关JSON数组的“值”,它实际上是一个字符串.如何将这个JSON...

TypeScript 一个面向对象的JavaScript【图】

1.什么是typeScript? TypeScript是JavaScript的一个超级,再其原有的功能上面做了JavaScript语法扩展。 提前剧透:万物皆对象,面向对象开发。 如果你学过Java,Python等后端语言相关语法,你就会觉得TypeScript如此亲切。 2.TypeScript安装npm install -g typescript 安装完后,使用tsc -v命令,查看版本 3.TypeScript初始见 a). 创建app.tsvar message:string = "Hello typescript" console.log(message) b). 使用tsc 运行ap...

javascript-Typescript-括号插入对象不会产生错误【代码】

我发现TypeScript允许我使用方括号表示法来在只有键的情况下通过索引访问对象.例如:interface testObject {name: string;id: number; }let first: testObject = {name: "Marquizzo", id: 1};let second = first[1]; // <-- Should yield error!first [1]应该给我一个错误,因为在testObject接口中未将1定义为有效键.我是否可以打开一个标志来避免这种情况发生?解决方法:听起来您没有将noImplicitAny compiler option设置为true. 如...

javascript-在Typescript前端和NodeJs后端之间共享js对象的最佳方法【代码】

我正在编写一个使用Angular2和TypeScript作为前端,使用NodeJS作为后端的应用程序.我已经编写了一个JavaScript对象,希望在前端和后端之间共享.最优雅的方法是什么? 我最初的想法是为前端编写一个.d.ts,并在javascript文件中添加一个module.exports,因此后端可能需要(‘myobject’). 在此过程中,这将导致浏览器抛出异常,并在浏览器控制台中显示异常:“未捕获的ReferenceError:模块未定义”. 而且我不想用不必要的错误消息来污染控...

javascript-用Jest和Typescript模拟一个全局对象【代码】

我有一个React组件.无论好坏,我都使用js-routes公开的Routes全局对象-Rails的瑰宝.我使用Jest进行了快照测试,该快照测试了我的简单组件,该组件恰好使用了Routes全局. 在我的测试中,我想模拟Routes.因此,当我的组件调用Routes.some_path()时,我可以返回任意字符串. 我主要遇到的错误是找不到名称“ Routes”. 这是我的设置: package.json"jest": {"globals": {"ts-jest": {"enableTsDiagnostics": true}},"testEnvironment": "jsdo...

如何过滤由Java / Typescript中的目录选择器选择的FileList对象?【代码】

我正在尝试从FileList对象过滤或删除某些文件.我已经得到一个FileList对象形式的目录选择器.<input type="file" accept="image/*" webkitdirectory directory multiple>在我的.ts文件中:public fileChangeListener($event: any) {let selectedFiles=$event.target.files; //Object of Filelist }selectedFileList包含不同类型的文件,例如图像/ jpg,图像/ png,应用程序/ javascript,应用程序/ pdf等.我想获取仅包含图像类型文件的F...

javascript – ECMAScript 6在对象解构中传播语法.支持TypeScript和Babel【代码】

以下是有效的ECMAScript 6吗?它似乎得到了Babel的最新版本的支持,但它不是由TypeScript支持的.我找不到处理这种情况的任何ES6参考.var a = { foo : 'foo' }; var b = { ...a };解决方法:不,这不是有效的ECMAScript 6. ES6仅支持函数参数和数组解构中的rest语法,并在函数调用和数组构造中扩展语法.It seems to be supported by the latest version of BabelBabel确实将objectRestSpread ES7 proposal作为experimental plugin实现.您...

TYPESCRIPT - 相关标签
实例 - 相关标签