草庐IT

language-typescript

全部标签

javascript - 可以在 Typescript 中扩展类型吗?

假设我有以下类型:typeEvent={name:string;dateCreated:string;type:string;}我现在想扩展这种类型,即typeUserEventextendsEvent={UserId:string;}这行不通。我该怎么做? 最佳答案 关键字extends只能用于接口(interface)和类。如果你只想声明一个有额外属性的类型,你可以使用intersectiontype:typeUserEvent=Event&{UserId:string}TypeScript2.2的更新,it'snowpossi

javascript - 在 TypeScript 中声明一个数组

我在Typescript中声明或使用bool数组时遇到问题,不确定哪个是错误的。我收到一个undefined错误。我应该使用JavaScript语法还是声明一个新的Array对象?下面哪一个是创建数组的正确方法?privatecolumns=boolean[];privatecolumns=[];privatecolumns=newArray();如何将所有值初始化为false?我将如何访问这些值,我可以像columns[i]=true;..那样访问它们吗? 最佳答案 以下是在typescript中创建bool值数组的不同方法:le

javascript - 检查 TypeScript 的枚举中是否存在值

我收到一个数字type=3并且必须检查它是否存在于这个枚举中:exportconstMESSAGE_TYPE={INFO:1,SUCCESS:2,WARNING:3,ERROR:4,};我发现的最佳方法是将所有枚举值作为数组获取并在其上使用indexOf。但是生成的代码不是很清晰:if(-1有更简单的方法吗? 最佳答案 如果您希望它与字符串枚举一起使用,您需要使用Object.values(ENUM).includes(ENUM.value),因为根据https://www.typescriptlang.org/docs/handb

javascript - 在 Typescript 中,类型和接口(interface)有什么区别?

以下有什么区别?typeFoo={foo:string};interfaceFoo{foo:string;} 最佳答案 接口(interface)可以扩展interfaceA{x:number;}interfaceBextendsA{y:string;}还有增强interfaceC{m:boolean;}//...later...interfaceC{n:number;}但是,类型别名可以表示一些接口(interface)不能表示的东西typeNumOrStr=number|string;typeNeatAndCool=Neat&C

javascript - 如何让 Typescript 编译器将编译后的 js 输出到不同的目录?

我是TypeScript的新手,现在我的项目结构中有几个地方有.ts文件:app/|-scripts/|-app.ts||-classes/||-classA.ts||-classB.ts||-controllers/||-controllerA.ts||-controllerB.ts||-otherStuff/|-otherstuffA.ts现在,当我的文件被编译时,它们被编译到.ts文件所在的同一目录:app/|-scripts/|-app.ts|-app.js||-classes/||-classA.ts||-classB.ts||-classA.js||-classB.js||

javascript - TypeScript 文件中需要 "Use Strict"吗?

我看过一些关于在TypeScript代码文件中放置“usestrict”行的帖子。我的问题是,为什么要有它?既然TypeScript已经是一门强类型语言,那么“usestrict”又增加了什么? 最佳答案 更新TypeScript1.8+:"usestrict";在模块中发出(Readmore)。TypeScript2.1+:--alwaysStrict编译器选项以严格模式解析所有文件并在所有输出文件的顶部发出"usestrict"(Readmore).您可以通过在TypeScript的测试中搜索“严格模式”来找到一些示例的列表。下

javascript - TypeScript 的开放式函数参数

IMO,TypeScript的主要关注点之一语言是为了支持现有的vanillaJavaScript代码。这是我第一眼的印象。查看以下完全有效的JavaScript函数:Note:IamnotsayingthatIlikethisapproach.IamjustsayingthisisavalidJavaScriptcode.functionsum(numbers){varagregatedNumber=0;for(vari=0;i因此,我们使用任意数量的参数使用此函数:console.log(sum(1,5,10,15,20));但是,当我用TypeScriptPlayground尝试

javascript - 如何在 TypeScript 项目中重用现有的 C# 类定义

我将开始在我的HTML客户端项目中使用TypeScript,该项目属于MVC项目,其中已经存在EntityFramework领域模型。我希望我的两个项目(客户端和服务器端)完全分开,因为两个团队将致力于此...JSON和REST用于来回传递对象。当然,我在客户端的域对象应该与服务器端的对象相匹配。过去,我通常手动完成此操作。有没有办法重用我的C#类定义(特别是域模型中的POJO类)来在TypeScript中创建相应的类? 最佳答案 目前没有任何东西可以将C#映射到TypeScript。如果您有很多POCO或者您认为它们可能经常更改,

javascript - TypeScript 静态类

我想从传统的JS转向TypeScript,因为我喜欢类似C#的语法。我的问题是我找不到如何在TypeScript中声明静态类。在C#中,我经常使用静态类来组织变量和方法,将它们放在一个命名类中,而不需要实例化一个对象。在vanillaJS中,我曾经用一个简单的JS对象来做到这一点:varmyStaticClass={property:10,method:function(){}}在TypeScript中,我宁愿采用我的C-sharpy方法,但在TS中似乎不存在静态类。这个问题的合适解决方案是什么? 最佳答案 自TypeScript1

typescript - 开发人员如何将JavaScript文件转换为TypeScript?

Closed.ThisquestiondoesnotmeetStackOverflowguidelines。它当前不接受答案。想改善这个问题吗?更新问题,以便将其作为on-topic用于堆栈溢出。5年前关闭。Improvethisquestion现在TypeScript出来了,这对我来说是一个令人振奋的消息,但是如何将所有现有的JavaScript文件转换为TypeScript? 最佳答案 我担心这会很成问题。TypeScriptisasupersetofJavaScript。这意味着所有有效的JavaScript代码也是有效的Ty