草庐IT

typescript-tslint-plugin

全部标签

javascript - 如何将 TypeScript 对象转换为普通对象?

我正在使用一个JS库,特别是select2如果我传递给它的对象不是普通对象,它的行为与我想要的有点不同。这一切都通过使用jQuery的isPlainObject函数进行检查。TypeScript是否有我不知道的强制转换,无需我自己编写即可实现此目的?classOpt{constructor(publicid,publictext){}toPlainObj():Object{return{id:this.id,text:this.text}}}letopts=[newOpt(0,'foo'),newOpt(1,'bar')];console.clear()console.log('bot

javascript - 将 MVC 模型数据传递给客户端 TypeScript 代码

在使用MVC的时候,我有时会通过在JavaScript中注入(inject)Razor的方式将服务器的模型数据传递给客户端的JavaScript,如下:varmyClientGuid='@Model.MyServerGuid';这会将名为myClientGuid的JavaScript变量设置为服务器端模型属性MyServerGuid的值。当它到达客户端时,代码在浏览器中看起来像这样:varmyClientGuid='EF0077AB-0482-4D91-90A7-75285F01CA6F';这允许外部JavaScript文件使用此变量。我的问题是,在TypeScript中,由于必须通过

javascript - 如何在 TypeScript 声明文件中设置默认类属性值?

我有declareclassFooextendsBar{foo:number}如何声明foo具有默认值(或初始值),例如60。我试过了declareclassFooextendsBar{foo:number=60}但是我得到了这样的错误4foo:number=60~~path/to/something.js/Foo.d.ts/(4,28):errorTS1039:Initializersarenotallowedinambientcontexts. 最佳答案 尝试从您的类定义中删除声明。通过使用declare它将定义一个类类型。该类

javascript - TypeScript:类型定义的引用子类型(接口(interface))

我在我的TypScript中使用以下类型:interfaceExerciseData{id:number;name:string;vocabulary:{from:string;to:string;}[];}现在我想创建一个与属性vocabulary类型相同的变量,尝试以下操作:varvocabs:ExerciseData.vocabulary[];但这不起作用。是否有可能以某种方式引用子类型?或者我必须做这样的事情吗?interfaceExerciseData{id:number;name:string;vocabulary:Vocabulary[];}interfaceVocabu

javascript - 运算符 '+' 不能应用于 TypeScript 中的类型 'String' 和 'String'

我是TypeScript的新手,正在尝试使用它。但我面临一个有线问题。当我尝试使用+运算符连接两个String类型时,出现错误运算符“+”不能应用于类型“String”和“String”我的代码快照是varfirstName:String='Foo';varlastName:String='Bar';varname=firstName+lastName;如果我使用string而不是String或添加额外的''它工作正常。我检查过,在JavaScript中我们可以在两个String对象上使用+那么为什么它在TypeScript中显示错误?是错误还是功能?我肯定错过了什么。详细解释表示赞赏

javascript - 克隆 TypeScript 对象

我有一个typescript类exportclassRestaurant{constructor(privateid:string,privatename:string){}publicgetId():string{returnthis.id;}publicsetId(_id:string){this.id=_id;}publicgetName(){returnthis.name;}publicsetName(_name:string){this.name=_name;}}然后我有一个这个类的实例(这是一个例子):restaurant:Restaurant=newRestaurant(

javascript - 使用 ES6 + Flow 代替 TypeScript

我正在为JavaScript应用建模。此应用程序的主要功能是使用RESTAPI来配置和显示具有某些自定义输入类型的表单。我正在考虑使用TypeScript利用类型和类。但经过一些谷歌搜索后,我意识到我可以使用JavaScriptES6+Flow获得非常相似的结果。(可能还有Babel)。我的问题是:这两种方法真的很相似还是我搞砸了?在ES6+Flow或TypeScript之间做出正确选择时,我应该考虑什么?感谢您的帮助。 最佳答案 免责声明:我在Flow团队工作。总的来说,我认为Flow更注重稳健性,而Typescript更注重易用

javascript - Angularjs + Typescript,如何将 $routeParams 与 IRouteParamsService 一起使用

我正在使用$routeParams从URI中提取属性并为它们设置本地变量。当我使用typescripts键入设置$routeParams的类型时,我无法登录访问$routeParams。如何访问$routeParams中的属性?classController{constructor($routeParams:ng.route.IRouteParamsService,private$location:ng.ILocationService)this.propetry1=this.getProperty1($routeParams.property1);}property1:string;

javascript - TypeScript 类函数不可用

我正在尝试调用TypeScript类的实例方法(在ASP.NETMVC项目中)。但是,在运行时,我会遇到类似0x800a01b6-JavaScriptruntimeerror:Objectdoesn'tsupportpropertyormethod'checkString'的异常。我在jsfiddle中复制了生成的JavaScript该方法似乎有效的地方。我不是真正的JavaScript专家,所以非常感谢任何帮助!到目前为止我尝试过的事情:不同的浏览器(Chrome:UncaughtTypeError:undefinedisnotafunction,FF:TypeError:this.

javascript - 从 JavaScript 正确调用 TypeScript 代码

在我们的大型企业项目中,我们面临的情况在Internet上的文章和帖子中似乎没有得到很好的描述。我们需要将支持SPA的现有JavaScript基础结构代码与其他团队在TypeScript上开发的代码相集成。由于许多政治限制和可用的开发资源,我们不能彻底改变方法(即只选择一种语言)。我们完全理解,将两个用不同语言编写的基础架构集成在一起可能不是一个好主意。我们仍然需要评估从JavaScript代码调用TypeScript的影响和最佳实践。TypeScript本质上被编译成JavaScript的理由似乎并不明确,因为关于如何从手写JavaScript中正确使用已编译的JavaScript以