草庐IT

transform-es

全部标签

javascript - google dart 是否生成 ES5 友好的 javascript,它是否包括或排除了 IE8?

我正在做一些研究,看看当前的googledart实现是否对IE8友好。我们的团队必须支持IE8一段时间,我正在尝试找出今天从dart生成的javascript是否适用于这个旧版浏览器。dart转译器是否像coffeescript一样检查输出javascript?最后,dart会生成ES5友好的javascript吗? 最佳答案 Dart仅针对支持ES5的浏览器,即InternetExplorer>=9、Firefox>=4、Opera>=12和相当新的基于WebKit的浏览器。IE8已不在考虑之列。此外,我认为目前,它更有可能在最新

javascript - 使用 Sinon.js 测试一个函数调用 ES6 模块中的另一个函数

我想测试ES6模块中的函数是否调用另一个使用Sinon.js的函数。这是我正在做的事情的基本布局:foo.jsexportfunctionbar(){baz();}exportfunctionbaz(){...}测试.jsimportsinonfrom'sinon';import*asFoofrom'.../foo';describe('bar',function(){it('shouldcallbaz',function(){letspy=sinon.spy(Foo,'baz');spy.callCount.should.eql(0);Foo.bar();spy.calledOnce

javascript - 构造函数使用 ES6 速记符号表现不同

ES6引入了一个shorthandnotation使用函数和属性初始化对象。//ES6shorthandnotationconstobj1={a(b){console.log("ES6:obj1");}};//ES5varobj2={a:functiona(b){console.log("ES5:obj2");}};obj2.a();obj1.a();newobj2.a();newobj1.a();但是,如您所见,这些不同的表示法表现不同。如果我在浏览器(经过测试的Chrome和Firefox)中执行newobj1.a(),我会得到一个TypeError:obj1.aisnotacon

javascript - ES6 支持 Elvis 运算符吗?

这个问题在这里已经有了答案:Isthereanull-coalescing(Elvis)operatororsafenavigationoperatorinjavascript?(22个答案)关闭4年前。Javascript/ES6是否支持Elvis运算符(operator)?示例:varx=(y==true)?:10;示例2:vardebug=true;debug?:console.log("Valueofx:"+x);

javascript - 在 ES 6/Harmony 中拆分类定义

假设我在一个像这样的大文件中有一个类:exportdefaultclass{constructor(){}methodA(){}methodB(){}methodC(){}}我想分解类定义,以便methodA、methodB和methodC分别在各自的文件中定义。这可能吗? 最佳答案 你应该能够,因为class应该只是通常原型(prototype)工作流的语法糖:importmethodOnefrom'methodOne'importmethodTwofrom'methodTwo'classMyClass{constructor()

javascript - ES6 : Applying function as class method

我正在将一个项目从CoffeeScript迁移到ES6(使用6to5和Browserify),并且遇到了可能的限制或者我可能只是不知道正确的语法。在CoffeeScript中我可以这样做:classSomeViewextendsBaseViewtriggerMethod:Marionette.triggerMethod如何在ES6类中表达这一点?我尝试了几件事,但无论我尝试什么,它都会抛出Unexpectedtoken错误。这例如:let{triggerMethod}=Marionette;classSomeViewextendsBaseView{triggerMethod,//doe

javascript - 是否可以在 ES6 的类中使用箭头函数?

我的问题很简单。如果我在ES6中有一个类,是否可以在其中使用箭头函数?importReact,{Component}from'react';exportdefaultclassSearchFormextendsComponent{state={searchText:''}onSearchChange=e=>{this.setState({searchText:e.target.value});}handleSubmit=e=>{e.preventDefault();this.props.onSearch(this.query.value);e.currentTarget.reset()

javascript - 将 ES6 插件扩展到 jQuery 原型(prototype)

我想寻求一些帮助,因为我无法使用模块和类在ES6中转换我的经典jQuery(v2)插件。在ECMAScript5中,我们可以像这样将jQuery插件附加到jQuery原型(prototype)中:app.js-通过HTML加载jQuery标签$.fn.myPlugin=function(){};$('div').myPlugin();而且有效:)。在ES6中,我会这样写:myPlugin.es6:import$from'jquery';exportdefaultclassmyPluginextends${//Couldiuseconstructor()method???}app.es6

javascript - 使用 ES6 语法在 vue 中导入多个组件不起作用

这个问题在这里已经有了答案:Isitpossibletoimportmodulesfromallfilesinadirectory,usingawildcard?(14个答案)关闭5年前。所以我正在尝试创建一个vue实例,它需要文件夹“views/”中的其他组件文件结构如下:项目构建/配置/节点模块/来源/浏览量/组件/App.vue如果我在App.vue中这样做,服务器将正常运行:importNavbarfrom'layouts/Navbar'importTopbarfrom'layouts/Topbar'importAppMainfrom'layouts/AppMain'但如果我尝

javascript - es6 具有集合的唯一对象数组

我遇到了这个用es6创建独特数组的例子[...newSet(array)]这似乎工作正常,直到我用一个对象数组尝试它并且它没有返回唯一数组。即letitem=[...newSet([{id:123,value:'test'},{id:123,value:'test'}])];这是为什么? 最佳答案 你可以试试看uniqueArray=a=>[...newSet(a.map(o=>JSON.stringify(o)))].map(s=>JSON.parse(s))我知道它非常丑陋,但在大多数情况下,除了在对象参数中有newDate()