草庐IT

typescript-typings

全部标签

javascript - 为什么 TypeScript 转译器将枚举编译成字典查找而不是简单的对象?

我很好奇为什么TypeScript转译器将枚举编译成字典查找而不是简单的对象。这是一个TypeScript枚举示例:enumtransactionTypesEnum{None=0,OSI=4,RSP=5,VSP=6,SDIV=7,CDIV=8}这是TypeScript发出的JS代码:varTransactionTypes;(function(TransactionTypes){TransactionTypes[TransactionTypes["None"]=0]="None";TransactionTypes[TransactionTypes["OSI"]=4]="OSI";Tran

javascript - 类型化数组和联合类型

我经常使用类型化数组,我的很多函数确实应该能够使用任何类型的类型化数组(例如,求和Uint8Array或Float32Array).有时,我可以只使用一个简单的类型联合,但我经常会遇到同样的错误。一个简单的例子:typeT1=Uint8Array;typeT2=Int8Array;typeT3=Uint8Array|Int8Array;//Noproblemshere:constf1=(arr:T1)=>arr.reduce((sum,value)=>sum+value);constf2=(arr:T2)=>arr.reduce((sum,value)=>sum+value);//Do

javascript - JSDoc @type 花括号有什么用?

JSDoc@type标签允许指定变量类型,例如/**@type{Number}*/。然而,我也看到了没有花括号的/**@typeNumber*/,它似乎同样有效。UseJSDoc有一个带花括号和不带花括号的例子,但没有讨论区别。GoogleClosureCompiler文档暗示所有声明都必须有大括号,但没有具体说明如果没有大括号会发生什么情况。大括号重要吗?如果是这样,为什么?如果没有,我应该使用它们吗? 最佳答案 我最好的猜测是大括号是为解析器准备的,因为某些类型规范中可以包含空格。例如。具有字符串键和数字值的对象:{Object

javascript - Typescript 不从 TFS 发布生成 .js

我会尽量具体一点。我们使用TFS并使用typescript作为客户端脚本。当我们在本地开发时,我们可以完全正常地做所有事情,但问题来自TFS发布的网站。问题是当我们想要部署时,或者如果我们想要自动化它,我们需要做一个解决方法,因为在_PublishedWebsites下typescript似乎不编译任何东西,脚本文件夹只包含.ts文件。目前,解决方法是转到构建文件夹并从那里复制.js文件。此解决方法目前有效,但我认为理想的情况是在_PublishedWebsites文件夹下生成.js文件。我们尝试了不同的选择,但我们还没有找到解决方案,而且周围找到的信息也不是很多。如有任何帮助,我们将

javascript - 调用通过构造函数传入的函数时,我可以避免在 Typescript 中使用单词 "this"吗?

我有:classAdminHomeController{privateconfig1;//Itrieddifferentvariationsherebutnoneworkedpublicconfig2;//constructor(private$scope:IAdminHomeControllerScope){this.config=$scope.config;//{this.config.clear();};}此代码有效,this.config具有我需要的所有方法。但是有没有办法我可以删除对this的需要吗?我希望能够编写以下代码:configChanged=(clear)=>{co

javascript - 从Typescript中的实例访问静态方法

为什么我不能这样做?是由于Javascript/Typescript的技术限制,还是Typescript开发人员的设计决定?同样的代码在Java或C#中也能正常工作。classTest{staticstr:string="test";publicstaticgetTest():string{returnthis.str;}}//worksasexpectedconsole.log(Test.getTest());//won'tcompilevartest:Test=newTest();console.log(test.getTest()); 最佳答案

javascript - Typescript es6 模块重新导出可变变量绑定(bind)

我正在尝试使用es6模块语法重新导出变量,然后更改它并查看最终导入中反射(reflect)的更改。但它没有按预期工作。请参见下面的示例:a.tsexportvara=1;exportfunctionchangeA(){a=2;}b.tsexport*from'./a';c.tsimport{a,changeA}from'./b';console.log(a);//1changeA();console.log(a);//Expected2butget1tsconfig.json{"compilerOptions":{"target":"es5","module":"commonjs","

javascript - 无法转换包含异步等待的 TypeScript

当尝试转译以下包含async和await关键字的TypeScript代码时asyncfunctionfoo(){awaitbar();}出现以下错误src/aa.ts(1,7):errorTS1005:';'expected.src/aa.ts(2,11):errorTS1005:';'expected.结果是一个包含此内容的.js文件async;functionfoo(){await;bar();}我正在使用这些tsc选项:-tes6-mcommonjs,遵循thisMSDNblog上的说明.我安装了TypeScript1.8.9。有什么想法吗? 最佳答案

javascript - 如何在 TypeScript 中键入带有类的数组?

我有一个应用程序,它通过运行其方法.init(params)进行初始化,如下所示:app.init([TopBar,StatusBar,MainArea]);其中TopBar、StatusBar和MainArea是类,而不是类的实例。这些类中的每一个都实现相同的接口(interface)IComponent。我想从.init(params)方法中传递的类中实例化对象,如下所示:init(params:IComponent[]):void{params.map(function(component){letcomp=newcomponent();this.components[comp.

javascript - 在 TypeScript 中定义 js-data 资源

是否可以使用TypeScript类创建js-data资源定义?我通常想要的是对计算属性和实例方法定义提供完整的类型支持。像这样的东西会很棒:classSomeModel{publicsomeBusinessModelValue='foo';publicsomeMoreValues='bar';publicgetsomeComputedProperty(){returnthis.someBusinessModelValue+someMoreValues;}publicinstanceMethod(param:string){returnthis.someMoveValues.search