草庐IT

learning-typescript-by-examples

全部标签

javascript - 如何将 D3 JavaScript 中的 'this' 转换为 TypeScript?

我知道JavaScript中的“this”与TypeScript中的含义不同,根据这篇文章'this'inTypeScript.我有以下JavaScript代码,用于在所选节点上创建较粗的笔划,并为所有其他节点提供较小的笔划。node.on('click',function(d){d3.selectAll('circle').attr('stroke-width',1.5);d3.select(this).select('circle').attr('stroke-width',5);})在TypeScript中我有this.node.on('click',(d:any)=>{this

javascript - typescript :对象到类

假设我有一个类C和一个对象O的实例(来自JSON)。classC{str:string;num:number;}varo=JSON.parse("{\"num\":123,\"str\":\"abc\"}");有没有一种方法可以用o分配/初始化C的实例,并检查未定义的值以及类型,而无需在复制构造函数/函数中自行完成?如果值缺失/未定义或类型不匹配,我希望得到错误或异常。谢谢! 最佳答案 您可以使用Object.assign:classC{str:string;num:number;}varo=JSON.parse("{\"num\"

javascript - 未捕获的异常 : Syntax error, 无法识别的表达式 : [href=example. html]

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭11年前。在Firebug中测试我的网站时,单击菜单按钮时出现此错误:未捕获的异常:语法错误,无法识别的表达式:[href=schedule.html]我认为这里出错了,因为当前类不适用,但其余类工作正常。(这些不是完整代码)html:HOMESCHEDULEjs:$("nava").removeClass("current");$("nava[href="+newHash+"]").addClass("

十分钟 Javascript : What is going on in this example code illustrating lazy scoping?

我一直在重读SpencerTipping的优秀作品JavascriptinTenMinutes在这个使用惰性作用域创建语法宏的示例中,我终究无法弄清楚发生了什么:varf=function(){return$0+$1};varg=eval(f.toString().replace(/\$(\d+)/g,function(_,digits){return'arguments['+digits+']'}));g(5,6);//=>11(exceptonIE)特别是,$0和$1正在被一个函数定义取代——那个函数是如何被计算的?(大概是通过eval(),但我没有看到)。函数中单个下划线参数的用

javascript - 在 TypeScript 中实现接口(interface)原型(prototype)

我已经为我的服务结果创建了一个TypeScript接口(interface)。现在我想为我的两个函数定义一个基本功能。问题是我得到一个错误:Theproperty'ServiceResult'doesnotexistonvalueoftype'Support'.我使用WebStorm进行开发(VS2012让我感到紧张,因为大型项目卡住-等待更好的集成:P)。这是我的做法:moduleSupport{exportinterfaceServiceResultextendsObject{Error?:ServiceError;Check?():void;GetErrorMessage?():

javascript - 跨文件的 Typescript 全局变量

我在没有模块或类的.ts文件中创建了一个变量。它看起来就像一个普通的JavaScript文件。我希望这个变量可以在一个变量内的类内的另一个.ts文件中访问。例如我有:foo.tsvarfoo="somestuff";bar.tsmoduleBar{exportclassBarClass{functiongetFoo(){returnfoo;}}}我不确定这是最好的方法。我试过使用window.bar全局,但这似乎不起作用。我是TypeScript的新手,正在进入一个更大的代码库,所以如果您需要任何进一步的说明,请告诉我。谢谢! 最佳答案

javascript - 如何在括号中编写 TypeScript 和 CoffeeScript?

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭8年前。Improvethisquestion我想在Brackets代码编辑器中编写TypeScript和CoffeeScript,但我遇到了困难。我如何将它编译成vanillajs?如何在html页面引用它?

javascript - TypeScript 在 Namespace 下扩展 JQuery

我正在尝试通过TypeScript中的函数扩展默认的JQuery接口(interface)和默认对象jQuery代码///namespaceMyNameSpace{var$=jQuery;exportinterfaceJQuery{test(options:Object):JQuery;}$.fn.test=function(options:Object):JQuery{if(this.length===0){console.log('Error!');returnthis;}console.log(options);returnthis;}exportvartestBody=func

javascript - TypeScript:TypedArray 的泛型类型定义

我正在尝试编写一个函数,通过将任意TypedArray作为输入来扩展/缩小TypedArray,并返回一个具有不同大小的新的相同类型的TypedArray,并将原始元素复制到其中。例如,当您通过时,newUint32Array([1,2,3])新尺寸5,它将返回newUint32Array([1,2,3,0,0]).exportconstresize=(source:ArrayLike,newSize:number,):ArrayLike=>{if(!source.length){returnnewsource.constructor(newSize);}newSize=typeofn

javascript - 扩展 TypeScript 的控制台界面

我想在window.console全局添加一个对象。importReactotronfrom'reactotron-react-native';window.console.tron=Reactotron;尽管当我这样做时,TypeScript会提示新对象:errorTS2339:Property'tron'doesnotexistontype'Console'.我想扩展控制台界面:interfaceConsoleWithTronextendsConsole{tron:any};不过,我不确定如何将这个新界面分配给我的全局控制台对象?帮助会很棒!谢谢。 最佳