草庐IT

es6-class

全部标签

javascript - 解构es6但传递动态变量

说我的状态是这样的:{item:{a:'a',b:'b'}}然后我可以通过以下操作从项目中提取a:const{a}=this.state.item但可以使用es6的{}动态拉取吗?例如const{variable}=this.state.item,其中variable可以是a或b. 最佳答案 作为4castle指出,你可以使用Computedobjectpropertynamesanddestructuring带有用于解构的附加键/值对变量。varobject={item:{a:'a0',b:'b0'}},key='b',value

javascript - 扩展 Javascript promise 并在构造函数中解决或拒绝它

我想用ES6语法扩展原生JavascriptPromise类,并且能够在子类构造函数中调用一些异步函数。根据异步函数结果,promise必须被拒绝或解决。然而,当then发生了两件奇怪的事情。函数被调用:子类构造函数执行两次“UncaughtTypeError:Promiseresolveorrejectfunctionisnotcallable”抛出错误classMyPromiseextendsPromise{constructor(name){super((resolve,reject)=>{setTimeout(()=>{resolve(1)},1000)})this.name=

javascript - SpyOn 单独导出 ES6 函数

tl;dr:我使用Jasmine;我想测试调用bbb的aaa函数模块;我想监视bbb,但最终aaa调用了原始的bbb函数,不是spy;如何强制aaa调用spy程序?模块:exportfunctionaaa(){returnbbb();}exportfunctionbbb(){return222;}测试:import*asutilfrom'my-module';describe('aaatest',()=>{letbbbSpy:Spy;beforeEach(()=>{bbbSpy=spyOn(util,'bbb');});it('shouldreturnSPYED',()=>{bbbSp

javascript - 在 ES6 : "Failed to resolve module specifier "vue""中导入包

尝试遵循一些Vue教程,但我目前无法在.js文件中导入Vue,然后在我的index.html中导入此文件。这就是我在index.html中导入脚本的方式:如果我在我的main.js文件中这样做:importVuefrom'vue';我在浏览器控制台中收到以下错误:UncaughtTypeError:Failedtoresolvemodulespecifier"vue".Relativereferencesmuststartwitheither"/","./",or"../".如果我的导入行:importVuefrom'../../node_modules/vue';然后我得到一个不同的

javascript - 对象属性值作为类名,ng-class

试图寻找这个问题的答案,但没有成功。在angularJS中使用ng-class时,是否可以将属性的值作为类名?我的意思的一个例子:varthings=[{a:"abc",aTrue:true}];然后在Angular中(在这个例子中使用ng-repeat)我正在寻找类名"abc"-但这给了我一个类名"thing.a"。这甚至可能吗,我哪里错了?在此先致谢,感谢您的帮助。 最佳答案 不起作用的原因是因为它的行为就像一个Javascript对象,所以你不能在javascript中执行此操作,对吗vartest='hello';varob

javascript - 支持 Mocha ES6 测试吗?

我正在尝试使用expect使用mocha进行测试,用ES6编写,即使是一个简单的测试用例也出现TypeError:importexpectfrom"expect";describe('Example',()=>{it('shouldjustwork',(done)=>{expect(5).to.eql(5);done();});});我正在使用Babel来转换和运行测试:./node_modules/.bin/mocha--compilersjs:babel/registerexample.js结果是:Example1)shouldjustwork0passing(76ms)1fail

javascript - 我可以在 ES6 的生产环境中使用 Babel Require Hook 吗?

我有一个使用ES6的Node应用程序。我正在使用Babel用于转译。据我了解,例如使用像Gulp这样的构建系统或使用requirehook.RequireHook方法似乎对我很有吸引力,因为我将能够将我的源文件保留在ES6中,但仍然使用nodeserver.js执行它们,而无需使用某些构建系统。这至少对开发来说似乎非常有用,我主要担心的是在生产中使用这种方法。每次用户发出请求都会受到惩罚吗?这究竟是如何运作的?对于上下文,我将它与Express应用程序一起使用。 最佳答案 Doesithaveanypenaltyhiteveryti

javascript - 在 Google Apps 脚本中使用转译的 ES6 => ReferenceError : "SomeClass" is not defined

我正在尝试在Google电子表格(在script.google.com部分)中使用ES6。我是JavaScript的新手,也许错误是微不足道的......28/09:帖子的错误已更改,因为我只是使用GoogleApps脚本库名称(Logger),我切换到SomeClass。我正在寻找模块,因为我的声明不是很好我做了什么:创建了一个webpack项目创建了一个Logger类创建了一个main.js,我在其中导入了Logger类WebPack从我的main.js生成一个包我将bundle.js复制/粘贴到script.google上的捆绑文件中我尝试在script.google中运行测试,

javascript - 为什么 `this` 在 ES6 箭头函数中不起作用?

这个问题在这里已经有了答案:ArrowFunctionsandThis[duplicate](5个答案)关闭7年前。这是我的代码:'usestrict';letobj={username:'HansGruber',hello:()=>'hello,'+this.username};console.log(obj.hello());但输出是:hello,undefined。我希望输出为:你好,HansGruber。我想我还没有理解箭头函数中的this。谁能给我一个明确的解释?

javascript - 除了执行 Object.prototype.hasOwnProperty.call(obj, key) 是否有 ES6+ 替代方案?

检查对象是否具有特定键的最可靠方法是:Object.prototype.hasOwnProperty.call(obj,key)这提供了一定的保证:如果key是obj的direct属性,它只会评估为true,即使obj没有通常的Object作为其原型(prototype)(例如,如果它是用constobj=Object.create创建的)(null)).但这是一口。在ES6或更高版本中是否有任何新的语法/方法(包括polyfillable或Babel可编译的“建议”)提供相同的保证,但以更好、更易读的方式? 最佳答案 我不知道这有