草庐IT

language-typescript

全部标签

javascript - 检查 typescript 中特定对象是否为空

如何判断对象是否为空?例如:privatebrand:Brand=newBrand();我试过:if(this.brand){console.log('isempty');}不工作。 最佳答案 使用Object.keys(obj).length检查是否为空。输出:3来源:Object.keys() 关于javascript-检查typescript中特定对象是否为空,我们在StackOverflow上找到一个类似的问题: https://stackoverfl

javascript - 如何检测 TypeScript 中按下的键?

typescript中与javascript中的以下行在语义上等效的语法是什么//SomeknockouteventhandlermyFunc(data:string,evt:Event){//Ifenterortabkeyupweredetectedaddtheexcusetothecollectionif(evt.enterKey||evt.which==9){//DoSomething}}我在这里遇到的问题与常规javascript事件不同,typescript事件类没有属性enterKey或which。那么,如何在不出现typescript编译错误和丑陋的红色波浪下划线的情况下

javascript - 如何将 requestAnimationFrame 与 TypeScript 对象一起使用?

我有一个要在Canvas上绘制的对象。它将使用requestAnimationFrame开始游戏循环:Contoso.tsclassContoso{//privatectx:CanvasRenderingContext2D;Initialize(ctx:CanvasRenderingContext2D){//this.ctx=ctx;Render();}Render(){//...snipdoinganyactualdrawingforthepurposeofthisquestionrequestAnimationFrame(this.Render);}}app.tsvarcontos

javascript - 在 typescript 中为泛型函数编写 JSdoc

我用以下代码提炼出了我的问题的本质:fullsource我有基类,派生类,Derived2:classBase{staticgettype(){return'Base';}}classDerivedextendsBase{}classDerived2extendsBase{}现在我有了变量t,它可以是Derived或Derived2的一个实例。它也可以在运行时多次更改。/**@type{Base}*/vart=newDerived();//orvart=newDerived2();我有一个函数检查t是否是传递类的实例,如果它是传递类的实例则返回t,否则返回undefined。/***@

javascript - 使用带有 typescript 的样式化组件 "as" Prop

我目前正在构建一个模式库,我在其中构建了一个Button组件使用React和styled-components.基于Button组件,我想要我所有的Links组件看起来完全一样,并接收完全相同的Prop。为此,我使用asProp来自styled-components,这让我可以将已构建的元素用作另一个标签或组件。按钮组件import*asReactfrom'react'import{ButtonBorderAnimation}from'./ButtonAnimation'import{ButtonProps,ButtonVariant}from'./Button.types'impor

javascript - 我可以在 TypeScript 中获取当前行号吗

我知道这听起来很奇怪,但是无论如何都可以在TypeScript脚本中获取当前行号,以便将其发送到生成的JavaScript代码中吗?我想我正在寻找类似C的预处理器的东西__LINE__变量。编辑:我询问的是TypeScript源文件中的当前行(通常与生成的JavaScript文件中的相应行号不同)。 最佳答案 我认为souremaps可以满足您的需求。Sourcemaps是一种将javascript文件映射回其未修改状态的方法。如果您将您的typescript编译器配置为包含源map,那么Chrome和其他开发工具可以引用您的typ

javascript - TypeScript 是否具有 ES6 "Sets"的等效项

我想从一个对象数组中提取所有独特的属性,您可以在ES6中使用扩展运算符和Set非常干净地完成此操作所以:vararr=[{foo:1,bar:2},{foo:2,bar:3},{foo:3,bar:3}]constuniqueBars=[...newSet(arr.map(obj=>obj.bar))];>>[2,3]但是,在TypeScript1.8.31中,这给了我构建错误:Cannotfindname'Set'我知道我可以使用强制VS忽略它declarevarSet;但我希望TypeScript可以编译成非ES6的东西,这样它就可以在旧系统上使用。有谁知道我是否可以使用这样的功能

javascript - 如何使用 TypeScript Controller 和 Angular Js 绑定(bind)数据

我正在玩TypeScript。我已经将我的angularjsController转换为TypeScript但我在ng-repeater中遇到问题。(我在下面附上了我的Controller代码:-classCustomCtrl{publiccustomer;publicticket;publicservices;publiccust_File;publicticket_file;publicservice_file;static$inject=['$scope','$http','$templateCache'];constructor(private$http,private$temp

javascript - 在 TypeScript 中使用 core-js

ES6的Kangax兼容性表位于http://kangax.github.io/compat-table/es6/显示“TypeScript+core-js”的结果。我需要core-js才能使用像String#startsWith这样的ES6方法。我一直无法弄清楚如何告诉TypeScript编译器考虑core-js,也找不到示例。我如何将core-js与TypeScript一起使用? 最佳答案 如果你使用Typescript2.0,你可以使用@types来解决这个问题。@types和类型当你编译typescript代码时,默认情况下

javascript - Chrome 开发工具失去了 TypeScript 的语法高亮显示

我不确定是否有解决此问题的方法,或者在使用映射的TypeScript文件时是否存在问题,但在许多情况下(较大的文件),我似乎失去了语法突出显示..从上图可以看出,直到第102行都没有问题,从那以后文件的其余部分只是红色。以上内容来自Ionic2/Angular2项目。似乎在使用反引号字符串之后发生(但并非总是在使用这些字符串之后)这不是世界末日,但突出显示确实使其更易于阅读。还有其他人遇到过这种情况,也许知道解决方法吗? 最佳答案 在使用TSsourcemaps时一直遇到这个问题。那是Chrome引擎的问题,也有关于这个问题的错误报