草庐IT

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

全部标签

javascript - babel 装饰器和 TypeScript 的一样吗?

我经常使用TypeScript编写代码,但很少使用babel,我知道TypeScript如何在装饰器上工作,而babel也支持装饰器,它们的行为是否相同? 最佳答案 是的,它们是相同的,从某种意义上说它们产生相同的行为,但它们有不同的实现。两者都遵循ECMAScript规范并尽早为我们带来功能。您可以预期它们两者上的内容将来可能会受到节点或浏览器的支持。代码:functionf(){console.log("f():evaluated");returnfunction(target,propertyKey,descriptor){c

javascript - React JS/Typescript 中的空合并运算符

这个问题在这里已经有了答案:Safenavigationoperator(?.)or(!.)andnullpropertypaths(7个答案)ReplacementofElvisOperatorofAngular2inTypescript(3个答案)关闭4年前。我们在.NET中有Null合并运算符,我们可以按如下方式使用stringpostal_code=address?.postal_code;我们可以在ReactJS中做同样的事情吗?我发现我们可以用&&运算符做什么在address.ts文件中stringpostal_code=address&&address.postal_co

javascript - 如何获取关联数组作为 jQuery.map 的输出?

我正在使用JQuerymap获取输入值数组的函数:varinputs=$("[id^='field']");varvalues=inputs.map(function(){return$(this).val();}).get();我想得到一个[id,value]的关联数组:{id1:value1,id2:value2} 最佳答案 .map()返回一个数组,所以如果你想要一个以id值作为键的对象,那么你可以这样做:functiongetFieldValues(){varvalues={};$("[id^='field']").each

javascript - 从 typescript 使用 Facebook SDK

在我的网络应用程序中,我正在使用Typescript并想使用FBsdk函数示例:来自Typescript的api、login等。在编译使用FB.init()的typescript代码时,出现以下错误:Suppliedparametersdonotmatchanysignatureofcalltarget.Cannotfindname'FB'. 最佳答案 您可以使用现有的类型定义:https://github.com/borisyankov/DefinitelyTyped/blob/master/fbsdk/fbsdk.d.ts有关使

javascript - 在单页应用程序上重用 Google Maps API 实例

假设我有一个单页应用程序(AngularJS应用程序),我在元素idgoogleMap上绘制了一个GoogleMap实例-varmapInstance=newgoogle.maps.Map(document.getElementById(`googleMap`),mapOption)然后我在应用程序路由中导航,由于这个原因,破坏了googleMapDOM元素,最后我回到了这个元素的路线,现在我必须在这个元素上重新绘制map.重新绘制map的正确方法是什么?正如我在thisanswer中读到的那样我不必重新创建它,而是使用相同的实例。 最佳答案

javascript - 将一种类型的列表转换为另一种 RXJava? (相当于 JavaScript map )

假设我有一个observableObservable>我想将它转换为Observable为Observable>.有没有最好的方法来转换List进入List.Javascript的map的类似实现将是最理想的情况。 最佳答案 您可以使用Observable.from(Iterable)得到Observable,将其映射(A=>B),并转换为List与Observable.toList()Observable.from(Arrays.asList(1,2,3)).map(val->mapIntToString(val)).toList

javascript - 如何使用 angular2 和 typescript 链接 3 个 Promise

我已经成功地链接了promise,但我发现我做这件事的方式足够复杂:我想知道是否有更优雅的方式来做到这一点。我使用Angular2、Typescript和signalR。我有一个服务getIntervention,它通过Id从服务器返回一个对象。在调用getIntervention之前,我想检查要连接到服务器的客户端,在连接到服务器之前,我想要加载SignalR脚本。所以我创建了第一个promisescriptLoadedPromise,它等待加载SignalR脚本。当scriptLoadedPromise被解析时,一个新的promiseconnectionPromise被创建,等待连

javascript - VueJS : Google Maps loads before data is ready - how to make it wait?(Nuxt)

这是我的第一个VueJS项目,我已经启动并运行了vue2-google-maps,但是当我尝试将map标记连接到我网站的JSON提要时遇到了一个问题(使用WordpressRESTAPI),Lat和Lng值返回undefined或NaN。经过进一步调查(感谢下面的@QuỳnhNguyễn),似乎在数据准备好之前运行了Googlemap实例。我曾尝试在初始化map之前观察要加载的提要,但它似乎不起作用。标记位置使用JSON从WordPressRESTAPI提取并存在于数组(位置)中。该数组存在并填充在VueDevTools(51条记录)中,但在检查mounted时,该数组为空。数据是在c

javascript - TypeScript 属性中的 readonly 与 get 之间有什么区别?

在TypeScript中将属性声明为readonly与通过get()创建它之间是否存在功能差异?两者的行为相同,但最好知道除了偏好之外是否还有理由使用其中一个。 最佳答案 它对生成的JavaScript有所不同:getter将是一个访问器属性(例如,函数),readonly属性将是一个数据属性。这:classExample{getfoo():string{return"foo";}readonlybar:string="bar";}如果您以ES2015+为目标,则转换为:"usestrict";classExample{constr

javascript - 将监听器动态添加到 Google map 标记

我正在处理一个页面,该页面使用JavascripthttpObject获取代码并使用它来更新页面上的两个元素-谷歌地图和列出标记指向的内容的DIV。那位工作正常。问题是,当我创建标记时,我通过for循环来创建标记,并在每个循环中将监听器添加到标记。然后,当我测试页面时,我发现每个标记都会发生同样的事情。将鼠标悬停在标记上应该会更改DIV相应位的边框颜色。相反,每个标记都会更改最后一位的边界。似乎每次我添加监听器时,我也会覆盖之前添加的标记的监听器。我知道这是因为GoogleMapsAPI保留了标记的身份,即使您在Javascript中创建新标记也是如此。我不明白如何绕过它-我尝试在循环