草庐IT

TypeScript(5)类、继承、多态

全部标签

Javascript多重继承

任何人都可以帮助下面的代码。我试图了解多重继承,但不确定为什么它不起作用。顺便说一句,下面的代码是否用于多重继承。谢谢TestDocfunctionclassX(){this.messageX="thisisXMessage";this.alertX=function(){alert(this.messageX);};}functionclassY(){this.messageY="thisisYMessage";this.alertY=function(){alert(this.messageY);};}functionclassZ(){classX.apply(this);clas

javascript - TypeScript 和 Socket.io

我想在我的Typescript项目中使用socket.io,但我只找到了服务器端typescript的.d.ts文件。这是一个很好的例子:https://github.com/soywiz/typescript-node-definitions/blob/master/socket.io.d.ts它展示了如何将TypeScript与Socket.io结合使用。但是在客户端它使用JavaScript。我需要的是用于客户端TypeScript的.d.ts文件,它可以解决此行的错误消息:varsocket=io.connect("localhost");Thename"io"doesnote

javascript - 需要将 fabricjs.d.ts 与 TypeScript 结合使用的示例

我在尝试转换为使用TypeScript的项目中使用fabricjs,但我不知道如何使用它。以前我会通过执行以下操作来创建自己的自定义对象:my.namespace.Control=fabric.util.createClass(fabric.Object,{id:"",type:'Control',color:"#000000",...});在我的新项目中,我安装了来自here的TypeDefinition文件。但我不知道我应该如何使用它?查看.d.ts文件,fabric.Object似乎不是函数,因此不允许传递给createClass,并且createClass本身返回void,因此

javascript - 有人有将 NightWatch 与 TypeScript 一起使用的经验吗?

我正在使用NightWatch进行端到端测试,并希望转向ES6编写测试的方式。我可以用Babel来做,而且效果很好,但我想使用typescript。我找不到太多关于NightWatchwithTypeScript的文档。找到了一些github存储库:https://github.com/rkavalap/NightWatchTesthttps://github.com/DonPage/Nightwatch-Typescript-examplehttps://github.com/remojansen/TypeScriptTestingExamples但是这些不包含任何关于typescr

javascript - 如何在 VS 2017 中调试 webpack TypeScript

我使用带有ts-loader的webpack来转换和捆绑各种TypeScript文件。这是我的配置:tsconfig.json{"compileOnSave":false,"compilerOptions":{"noImplicitAny":true,"noEmitOnError":true,"removeComments":false,"sourceMap":true,"target":"es5","module":"es2015","lib":["dom","es2015","es2016"],"allowSyntheticDefaultImports":true,"moduleR

javascript - 你如何使用 jasmine + TypeScript 测试一个用常量调用的函数

我正在开发Angular2/TypeScript项目并使用jasmine进行单元测试。如何使用jasmine.js测试用常量调用的函数。例如。Logo.tsexportconstRADIUS:number=10;exportclassLogo{...protecteddrawCircle(x:number,y:number,r:number){...}protecteddrawLogo(){this.drawCircle(RADIUS,RADIUS,RADIUS);}...}Logo.spec.tsdescribe('drawLogo',function(){beforeEach(()

javascript - 将 Typescript 2 @Types 与 typescript 1.8.10 一起使用

目前我正在尝试在我的项目中使用d3-dragv4类型。正在使用Ts1.8.10,尚未准备好迁移到TS2测试版。d3-v4类型库位于此处:https://github.com/tomwanzek/d3-v4-definitelytyped我尝试使用以下方式安装类型:typingsinstalld3-drag=github:tomwanzek/d3-v4-definitelytyped/src/d3-drag/index.d.ts#4d09073c046b6444859c66ff441f1e7691777d0f--save但我收到以下错误:typingsERR!causedby/tomwa

javascript - 模块构建失败 : TypeError: Cannot read property 'exclude' of undefined(awesome-typescript-loader)

我成功地将现有的Angular2项目转换为Angular4,但转换后出现以下错误:-模块构建失败:类型错误:无法读取属性“排除”的未定义更多详情,请引用下面的图片下面提供了我的package.json和tsconfig.json文件。package.json:-{"name":"project","version":"0.0.1","description":"project","keywords":["project"],"scripts":{"build:dev":"webpack--configconfig/webpack.dev.js--progress--profile","

javascript - 伪类继承相对于函数继承(工厂函数)有哪些技术优势?

替代标题:“为什么这么多流行的JavaScript库使用伪类继承而不是函数继承(工厂函数)?”JavaScript:TheGoodParts建议使用工厂函数,以便您获得方法和属性的真正隐私。这是有道理的,所以我想知道为什么这么多现代JS库仍然使用伪类继承(使用new关键字)。与工厂功能相比,走这条路有一些技术优势吗?如果不是,是否只是一种风格选择?编辑:这不是基于意见的帖子。我不是在问哪个更好,我是在问伪经典继承相对于函数式继承有哪些技术优势,以了解为什么有人会选择这种风格。编辑2:我可以看到伪经典的几个优点:当您console.log一个原型(prototype)的实例时,它会向您显

javascript - 以干净的方式扩展主干 View 和继承选项

这是我关于SO的第一个问题,希望我没有搞砸。我已经检查了关于这个问题的其他主题,但它们没有涵盖我遇到的情况。我正在Backbone之上构建一个库来创建移动应用程序。我将所有组件定义为主干View的主要原因是因为我想在滚动时进行内存优化(隐藏内容/从DOM中删除内容)。让我先从最理想的防御开始定义一个基类供其他组件使用,有一些默认我需要在每个组件上使用的属性和一些方便的方法。UI.Component=Backbone.View.extend({viewOptions:['children'],children:[],add:function(child){this.children.pu