草庐IT

es6-features

全部标签

使用模板文字的 Javascript ES6 console.log 对象

我有一个简单的对象,我想在控制台中显示varobj={name:'John',age:22}如果我输入:console.log(obj)对象{姓名:“约翰”,年龄:22如果我输入:console.log('myobjectis:'+obj)我的对象是:[对象对象]console.log('myobjectis:%o',obj)我的对象是:Object{name:"John",age:22}如何使用模板字面量实现这一点?如果我输入:console.log(`myobjectis:${obj}`)我的对象是:[对象对象] 最佳答案 您可

javascript - es6 vanilla javascript 中的 Ajax 请求

我可以使用jquery和es5发出ajax请求,但我想转换我的代码,以便它的vanilla和使用es6。这个要求会如何改变。(注:我查询的是维基百科的api)。varlink="https://en.wikipedia.org/w/api.php?action=query&prop=info&pageids="+page+"&format=json&callback=?";$.ajax({type:"GET",url:link,contentType:"application/json;charset=utf-8",async:false,dataType:"json",success

javascript - 在 ES6 中扩展一个 String 类

我可以在ES5中编写以下内容:String.prototype.something=function(){returnthis.split('').join('');};如何使用新功能在ES6中做同样的事情?我知道这也是一个有效的ES6。我想知道在ES6中是否有其他更短的方法来实现这些功能?上述功能只是一个例子。 最佳答案 在ES6中,您还可以像这样使用Object.assign()来完成此操作:Object.assign(String.prototype,{something(){returnthis.split('').join

JavaScript 函数返回多个值作为 ES6 中的对象

functionfunction_name(){vara=1;varb=2;return{a,b}}let{p1,q1}=function_name()为什么我收到有关p1、q1的值为undefined的错误消息?然而,下面的代码给出了预期的结果:varo={p:42,q:true};var{p,q}=o;console.log(p);//42console.log(q);//true谁能解释一下这两个代码示例之间的区别? 最佳答案 您正在获得所需的输出,因为function_name()正在返回一个对象,该对象具有两个具有某些值的

javascript - 有没有办法在 node.js 的对象字面量中指定 ES6 生成器方法?

我似乎无法将生成器方法创建为对象字面量。这是我的工作源代码:function*getRecords(data){for(vari=0;i但是当我在对象字面量中移动我的生成器方法时:varmyobj={*getRecords:function(data){...}}我得到SyntaxError:Unexpectedtoken*如果我加引号varmyobj={'*getRecords':function(data){...}}我得到:SyntaxError:Unexpectedstrictmodereservedword我正在使用--harmony选项运行nodejsv0.12.2,但无论

javascript - $stateChangeStart 在 UI-Router ES6 中的状态变化时没有被触发?

我正在为ES6和webpack使用Bable。我在angular1.x.x上构建应用程序。到现在为止我没有遇到任何问题。我想要一个可以跟踪所有路线变化的功能。我正在使用UI路由器。问题是$stateChangeStart无论如何都不会被触发。代码如下。/*Allincludesaretakencareof.Pleaselookattherunmethod*/angular.module('chpApp',[uirouter,angular_animate,uibootstrap,formly,formlyBootstrap,ngMessages,angularLoadingBar,'n

javascript - 如何使用 Grunt + Browserify + Reactify 转换 React ES6 类?

我想使用随Reactv0.13引入的新ES6React类,但我无法正确编译它。假设我在新类语法中定义了以下React组件:(function(){'usestrict';importReactfrom'react';class_UserDashboardextendsReact.Component{render(){return();}}exportconstUserDashboard=React.createClass(_UserDashboard.prototype);}());我在这里遇到的麻烦是在编译时使用Grunt和Browserify以及一个Reactifytransfor

javascript - ES6/lodash 统计字符串中某个字符出现的次数

我想计算字符串中某个字符出现的次数。这个堆栈溢出帖子使用ES5而不是ES6或Lodash:CountthenumberofoccurrencesofacharacterinastringinJavascript不过,我想知道是否有更多的ES6方式来做到这一点。Lodash解决方案也是可以接受的。 最佳答案 这是一个lodash解决方案:constcount=(str,ch)=>_.countBy(str)[ch]||0;console.log(count("abcadea","a"));该解决方案看起来很紧凑,不使用正则表达式,并且

javascript - ES6 使用正则表达式过滤数组

我正在尝试过滤包含一堆url的数组。我需要返回只包含单词“contact”的url。例如有一个链接https://www.example.com/v1/contact-us/ca这应该从过滤器返回。我试过这个:constregex=newRegExp("/\bcontact\b",'g')sites.links.filter((val)=>{console.log(regex.test(val.href))})当我知道有一个域包含单词“contact”时,它目前只是通过所有域发回false。 最佳答案 首先newRegExp('/\

javascript - IE 中使用 ES6 箭头函数的语法错误

我有这段JavaScript代码price=price.replace(/(.*)\./,x=>x.replace(/\./g,'')+'.')这在Firefox和Chrome中工作正常,但是IE给我一个语法错误,指向我代码中的=>。有没有办法在IE中使用ES6箭头语法? 最佳答案 IE不支持ES6,因此您必须坚持使用原始的方式编写此类函数。price=price.replace(/(.*)\./,function(x){returnx.replace(/\./g,'')+'.';});此外,相关:WhenwillES6beavai