草庐IT

lodash-es

全部标签

javascript - 浏览器将如何处理 ES6 导入/导出语法

我一直在思考这个问题很多天,我决定请教专家。浏览器将如何处理新的导入/导出语法?我的意思是:模块会被异步加载吗?仅引用我的主文件或入口文件,浏览器将延迟加载requiere模块。也许我对这个新架构遗漏或误解了什么?非常感谢!问候。 最佳答案 这是standardizednow并得到所有主要现代浏览器的支持。willthemodulesbeloadedasynchronously?是的,有两种选择;详情如下。Referencingonlymymainorentryfileandbrowserswilllazyloadtherequie

javascript - 选择如何更好地利用 ES6 const 并让

免责声明:我知道下面的问题可能会被视为“征求意见”(所以它会偏离主题)。但事实并非如此:我正在寻找优点和/或缺点事实,在考虑该问题时应将其考虑在内。一个偶然的机会,我刚刚读到(来自优秀的ExploringES6)关于constvsletvsvar的摘录,结论指出(粗体是我的):Thenwehavetwoapproaches:Preferconst:constmarksimmutablebindings.Preferlet:constmarksimmutablevalues.Ileanslightlyinfavorof#1,but#2isfine,too.令我困惑的是:这种偏好似乎是基于

javascript - ES6 值声明后如何判断它是否为 var/const/let?

这个问题在这里已经有了答案:HowtocheckthatES6"variable"isconstant?(4个答案)关闭3年前。我知道我可以通过查看它的声明位置来确定一个值是varconst还是let。但是我想知道-主要是为了调试、开发JS编译器和学术兴趣-是否有可能在创建变量(var/const/let-ness)后找出它的不变性/范围。即doThing(something)会回来let或等价物。就像我们可以使用typeof或something.constructor.name为构造函数确定类型。

javascript - 如何在全局范围内使用 ES6 模块而不是命名空间?

在ES6中定义一个类时,它会在全局范围内可用,您可以使用新的ES6括号封闭来防止这种情况发生:{classCar{constructor(make){this.make=make;this.currentSpeed=25;}getSpeed(){console.log(this.make+'isgoing'+this.currentSpeed+'mph.');}}window.MYNAMESPACE.Car=Car;}我有多个js文件,每个文件都有自己的类定义,我通过MYNAMESPACE在全局范围内使这些类可用。因此从任何地方创建一辆新车看起来像:varmyCar=newMYNAME

javascript - lodash 从数组中获取与值数组不匹配的项

要从数组中获取与值数组匹配的项目,我使用这个:varresult=_(response).keyBy('id').at(arrayOfIDs).value();我怎样才能做相反的事情?获取与值数组不匹配的项。 最佳答案 这很容易用vanillaJS完成。varnonMatchingItems=response.filter(function(item){returnarrayOfIDs.indexOf(item.id)===-1;});同样的方法也适用于lodash's_.filter(),如果您肯定必须使用lodash。上面的ES

javascript - 使用 Gulp 导入 ES6 模块

我正在尝试将我的ES6模块导入到一个文件中,并运行Gulp来连接和缩小该文件。我遇到了ReferenceError:requireisnotdefinedatall.js(transpiled)lineno3。我已经使用gulp-babel转译了代码。我的js文件是:cart.js:classCart{constructor(){this.cart=[];this.items=items=[{id:1,name:'DoveSoap',price:39.99},{id:2,name:'AxeDeo',price:99.99}];}getItems(){returnthis.items;}

javascript - 将 ES5 JavaScript 用于 Angular 2 应用程序和使用 TypeScript 的优缺点是什么?

关闭。这个问题是opinion-based.它目前不接受答案。想改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.6年前关闭。Improvethisquestion我已经使用Angular1多年了,我开始学习如何使用Angular2。但在编写任何代码行之前,我都在纠结是否必须使用TypeScript或JavaScript。使用TypeScript的优缺点是什么?使用普通旧JavaScript的那些是什么?奖金问题:在Angular2上下文中选择JavaScript和TypeScript是否有最佳实践?我不知道TypeScript,但从我看到的几段代码来

javascript - 类型错误 : redeclaration of let error in Firebug console if running ES6 code

我正在学习ES6,所以请耐心等待。以下是运行良好的代码,如果我单击Run按钮一次,但在第二次单击时它开始显示TypeError:redeclarationofletmyArr错误。让我知道这种奇怪的(可能不是)行为。letmyArr=[34,45,67,2,67,1,5,90];letevenArr=[];letoddArr=[];myArr.forEach(x=>{if(x%2===0){evenArr.push(x);}else{oddArr.push(x);}});console.log(evenArr);console.log(oddArr);错误-

javascript - lodash zip 函数可以处理数组数组吗?

lodashzip()函数通常接受两个或多个数组作为参数。它可以接受数组的数组吗?例如,给定一个像varaa=[[1,2,3],[4,5,6]];这样的对象和[[1,4],[2,5],[3,6]]zip()必须像_.zip(aa[0],aa[1])那样调用。对于包含两个以上元素的数组,在函数调用中键入索引变得重复。调用_.zip(aa)无效。它只是嵌套了原始数组的数组。 最佳答案 您可以使用apply展开数组数组或ES2015spreadoperator(...)://callzipwitha`this`contextofthelo

javascript - 为什么在 ES6 中不使用绑定(bind)到它的类创建的对象的方法?

我喜欢ES6类,但我不明白为什么我必须在构造函数中绑定(bind)方法:constructor(){this.someMethod=this.someMethod.bind(this)}我几乎需要为任何方法执行此操作。这是一个真正的限制还是我遗漏了什么?这背后的原因是什么?我知道JS中的类只是语法糖,但这可能是其中的一部分。 最佳答案 引用MarkMiller对thelinkedesdiscusspost的回答这里:Severaloftheearlyclassproposalsdidso,astheywerestartingwith