草庐IT

学习typeScript(weakMap,weakSet,set,map)

全部标签

javascript - 在 Javascript 中使用 Map over Object 有什么缺点吗?

与ES6的Map()相比,使用Object有什么明显的好处吗?我喜欢将它用于forEach函数。在需要哈希表时选择Map()是一种不好的做法吗? 最佳答案 在Javascript上下文中,Object与Map的情况更像是一个问题,即您是想要通用工具还是专用工具来完成这项工作。Map实际上只是一种特殊的对象(就像您在应用程序中构建的任何其他类型的对象一样。您甚至可以制作自己的Map()模仿ES6map的构造函数)。与其他对象一样,它具有访问其功能的方法。Map的“特色”是成为高效的键值存储。另一方面,Object是Javascript

javascript - Typescript 使用 Rx.js 过滤器运算符区分联合类型?

typescript支持discriminatedunions.如何将与Rxjs相同的概念扩展到filter下面例子中的运算符?interfaceSquare{kind:'square';width:number;}interfaceCircle{kind:'circle';radius:number;}interfaceCenter{kind:'center';}typeShape=Square|Circle|Center;constobs$:Observable=of({kind:'square',width:10});//Expectedtype:Observable//Actu

Javascript/Typescript - 获取对象属性可见性和类型

我的问题:我需要区分typescript类的私有(private)、公共(public)和getter(getX())属性。我的项目:我有一个Angular项目,它有一个模型设计模式。阿卡。用户模型看起来像这样classUserModelextendsBaseModel{private_id:number;getid(){returnthis._id;}setid(_id:number){this._id=_id;}}为了将这些模型发送到后端,我只是对它们进行JSON.stringify(),如果用户ID设置为13,则返回一个这样的对象{_id:13}现在我需要修改UserModel上

javascript交互式调试(相当于python的pdb.set_trace())

我正在使用一些javascript代码,我希望能够在函数调用的上下文中运行一个交互式控制台-也就是说,基本上正是python的importpdb;pdb.set_trace()完成。有什么办法吗?如果不是,那么最好的近似值是多少?我目前正在使用Chrome的控制台来处理一些事情,我基本上喜欢被放到函数调用的中间并使用Chrome的控制台来查看局部变量等。 最佳答案 设置断点,Chrome的检查器将允许您检查应用的状态。点击行号。将出现一个蓝色标记。当您点击该行时,执行将暂停。在您的代码中编写一个debugger语句。当您点击语句时,

javascript - 使用: and => for the return type with a TypeScript function?有什么区别

我有以下代码:///functionaddThemePrototypes(){vartemplateSetup=newArray();$.fn.addTemplateSetup=function(func,prioritary){if(prioritary){templateSetup.unshift(func);}else{templateSetup.push(func);}};}有人能告诉我为什么要用=>void来声明吗?interfaceJQuery{addTemplateSetup:(func:Function,priority:bool)=>void;}我想我对如何从java

javascript - 缩放传单 map 时,SVG 圆圈不会重新定位

我正在使用d3在传单map上添加svg圆圈。我的fiddle在这里http://jsfiddle.net/nextstopsun/C3U8g/我添加了一个reset()函数来映射viewreset事件,以计算包含所有圆圈的svgg元素的转换。此函数在mapView重置事件中调用。svg.attr("width",topRight[0]-bottomLeft[0]).attr("height",bottomLeft[1]-topRight[1]).style("margin-left",bottomLeft[0]+"px").style("margin-top",topRight[1]+

javascript - typescript ,序列化类对象

如何将这些类序列化为JSON?正如您从下面的示例中看到的那样,JSON.stringify()不会序列化Cache_Backend_LocalStorage_TagThree对象中的Cache_Backend_LocalStorage_Tag列表。我错过了什么?interfaceCache_Backend_LocalStorage_Tag_Interface{_tag:string;_keys:string[];}classCache_Backend_LocalStorage_TagimplementsCache_Backend_LocalStorage_Tag_Interface{p

javascript - 在探索 Angular2 之前是否有必要先学习 TypeScript?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭7年前。Improvethisquestion在尝试学习AngularJS2之前是否有必要先学习TypeScript?

javascript - Aurelia 中的 Typescript 自动注入(inject)

我是Typescript和Aurelia的新手。我正在尝试使@autoinject装饰器在VS2015ASP.NETMVC6项目中工作。这是我的代码import{autoinject}from"aurelia-framework";import{HttpClient}from"aurelia-http-client";@autoinject()exportclassApp{http:HttpClient;constructor(httpClient:HttpClient){this.http=httpClient;}activate(){this.http.get("/api/test

javascript - typescript 编译器错误 TS2307 : Cannot find module 'jquery'

我正在关注JSPM入门guide我想安装jquery包,所以我执行下面的命令。jspm安装jquery但是当我尝试像下面这样用typescript导入它时从“jquery”导入$我从typescript编译器中收到一个错误,提示errorTS2307:Cannotfindmodule'jquery'。不仅对于这个库,对于其他库我也遇到同样的错误。 最佳答案 您需要在编译上下文中包含jquery的类型定义,您可以从https://github.com/DefinitelyTyped/DefinitelyTyped中获取它们