草庐IT

GL_ARB_ES

全部标签

javascript - 如何对 ES6 生成器进行特征检测?

我真的很喜欢ES6生成器。有什么方法可以检测浏览器中的生成器支持吗?我知道生成器目前可能不会出现在很多浏览器中(或者可能根本没有浏览器),但这对我来说没问题。我试过:try{function*(){}}catch(err){console.log("Nogenerators");}但是好像不行。如何检测浏览器对ES6生成器的支持? 最佳答案 eval实际上是正确解决方案的少数情况之一。对于语言结构的改变,你需要这样的东西:try{eval("(function*(){})");}catch(err){console.log(err)

r - setInterval 和 setTimeout 都不起作用 react-native ES6

我正在尝试让一个基本计时器在react-native中运行,但它不起作用。我在控制台中没有收到任何错误。它只是简单地忽略了setInterval。我读了TimerMixinES6问题(不支持)。那么,如果您只想使用基本的setInterval计时器,还有什么选择呢?因为它根本无法以此处显示的最简单形式工作...importReact,{Component}from'react';import{AppRegistry,Text}from'react-native';classHelloWorldAppextendsComponent{componentDidMount(){console

javascript - ES6 模块 : re-export as object

我有moduleA导出一些函数://moduleA.jsexportfunctionf1(){...}exportfunctionf2(){...}有没有什么方法可以重新导出moduleB中moduleA的所有导出并使其看起来像一个对象://moduleB.jsexport*asafrom'moduleA';//pseudocode,doesn'twork以便我可以这样使用它?//main.jsimport{a}from'moduleB';a.f1();a.f2(); 最佳答案 暂不支持该语法,但有aproposalforit.您现

javascript - 调用 ES6 方法时绑定(bind)上下文。如何从称为回调的方法中访问对象?

我正在努力思考ES6中类的语法。同时通过BonnieEisenman的LearningReactNative学习Fabricnative。当回调是类“方法”时,我遇到了有关在回调中访问this的问题。我知道有关回调中词法this的问题已在StackOverflow上多次提出。例如在Howtoaccessthecorrect`this`contextinsideacallback?.根据我的在线研究,我找到了一个解决方案。但我不确定这是在ES6中执行此操作的正确方法。当我尝试以下操作时出现了我的问题:classWeatherProjectextendsComponent{construc

javascript - 在 React + ES6 中重置初始状态

我在下面有一个类ElementBuilder,当用户保存他们构建的Element时,我希望状态重置为下面的值。我在这个类中有一些我没有提供的函数,但是它们改变了title、size和color的状态。在ES5中,我的类上有一个getInitialState函数,并且可以在一个函数中调用this.getInitialState()。这个元素在我的应用程序中存在于登录用户的生命周期中,我希望默认值始终相同,无论过去的使用情况如何。如何在不编写设置默认值对象的函数的情况下实现这一点(或者这就是答案)?谢谢!classElementBuilderextendsComponent{constru

javascript - 是否可以将 ES5 JavaScript 与 Angular 2 而不是 TypeScript 一起使用?

是否需要为Angular2学习TypeScript?Angular2可以与纯JavaScript一起使用吗?编辑:我看到像ES6、ES7、Dart这样的语言会编译成JavaScript来执行,但我还没有看到任何直接使用ES5JavaScript的引用。 最佳答案 是的,你可以。去读这个guide.按代码示例上的ES5选项卡将显示与TypeScript相对的常规ES5JavaScript。APIpreview但是,由于显而易见的原因,它是不完整的。所以你可能还没有找到那里列出的ES5方法,其中一些可能会在发布前发生变化。ES5中Ang

javascript - ES8 立即调用异步函数表达式

我没有看到这些构造被广泛使用,但我发现自己编写它们是为了在通常不会返回promise的函数中使用async/await,例如chan.consume(queue,(msg)=>{this.pendingMsgs++;//executedimmediately(async()=>{awaitthis.handleMessage(msg);this.pendingMsgs--;if(cancelled&&this.pendingMsgs===0){awaitchan.close();awaitthis.amqpConnectionPool.release(conn);}})();});相对

javascript - 具有 (ES6) 类和继承的 Angular.js DI

背景,我们应用程序中类/模块的当前实现是common.js和CoffeeScript类。我正在拼命寻找可以使用ES6或TypeScript的解决方案,但问题仍然存在。如何使用Angular-1.x通过类继承进行DI?给定代码://SuperService.jsclassSuperService{constructor($http,$q,$etc){//Implementationisnotimportant...}}export{SubService}//SubService.jsimport{SuperService}from'./SuperService';classSubServ

javascript - ES5 的代理替代品

是否可以在不使用Proxy和setInterval的情况下监听属性变化?对于常见对象,您可以使用下面的函数,但它适用于所有现有属性,但不适用于包装后可能添加的任何属性。functionwrap(obj){vartarget={};Object.keys(obj).forEach(function(key){target[key]=obj[key];Object.defineProperty(obj,key,{get:function(){console.log("Get");returntarget[key];},set:function(newValue){console.log("

javascript - 使用 ES6 import 语句时,有没有办法防止未定义的项目?

import{foobar1,foobar2,foobor3,//typo!thiskeydoesn'texistinthemodule.}from'./module_file.js'console.log(foobar1,foobar2,foobar3)//EXPLODES我在使用新的ES6样式导入语句时犯的最常见的愚蠢错误之一是我在对象解构中的一个键中有错字。我想不出有哪个实例是我希望解构赋值中的值是undefined的。如果我尝试导入的其中一项未定义,是否有任何方法可以强制导入语句快速失败?即:import{doesntExistInModule//EXPLODENOW!???}