草庐IT

es6-features

全部标签

javascript - Chrome ✗ vs Firefox 中 ES6/Unicode 正则表达式中的逻辑 OR 序列 ✓

考虑以下大量Unicode正则表达式(表情符号代表非ASCII和额外BMP字符):'??????'.match(/?|?|?/ug)Firefox返回["?","?","?","?","?","?"]?。Chrome52.0.2743.116和Node6.4.0都返回null!它似乎并不关心我是否将字符串放入变量中并执行str.match(…),也不关心我是否通过newRegExp('?|?|构建RegExp对象。?','gu').(Chrome只需ORing两个序列即可:'??????'.match(/?|?/ug)也可以。可以使用非Unicode:'aakkzzkkaa'.matc

node.js - 使用 ES6 import + export 关键字和 Babel 导入/导出 Express 路由器

我有一个最初使用Express2.X构建的旧测试项目。我将其移至Express4.x并尝试插入Babel6.x以在服务器端试验ES6功能。Express4.x更新正常。原始应用程序运行良好。当我开始添加ES6功能时,问题就出现了。特别是,我想用ES6import{...}from...替换所有require和module.export指令和export{...}.问题:我似乎无法将外部文件中的路由导入到主app.js文件中。我的app.js像这样加载路由:import{indexRoute}from'./routes/index_route';app.use('/',indexRout

node.js - 如何在 ES6 中使用 sinon stub 静态方法?

varMyClassStub=sinon.createStubInstance(MyClass);MyClassStub不包含静态方法。如何解决? 最佳答案 静态方法:sinon.stub(YourClass,'yourClassMethod').callsFake(()=>{return{}})不是静态方法:sinon.stub(YourClass.prototype,'yourClassMethod').callsFake(()=>{return{}}) 关于node.js-如何在E

node.js - Mongoose 前/后中间件无法使用 ES6 访问 [this] 实例

我进退两难,尝试使用pre中间件向mongoose模型添加一些前置逻辑,但无法像往常一样访问this实例。UserSchema.pre('save',next=>{console.log(this);//logsoutemptyobject{}lethash=crypto.createHash('sha256');letpassword=this.password;console.log("Hashingpassword,"+password);hash.update(password);this.password=hash.digest('hex');next();});问题:*有没

javascript - Node.js REPL 中的 ES6 样式导入

来自Python背景和Node.js的新手,我发现使用Node.jsREPL交互式地尝试代码非常困难。我遇到的一个关键问题是imports:ES6样式导入在Node.jsREPL上不起作用,我必须通过require使用CommonJS样式导入。示例:我无法在Node提示符下编写importrxjs,必须使用require('rxjs')。这使得将粘贴脚本复制到NodeREPL以快速测试它们变得更加困难,我必须首先将所有ES6样式导入转换为require导入,这感觉违反直觉。有没有什么简单的方法可以使用从Node.jsREPL导入的ES6样式?喜欢:$node>import'rxjs';

javascript - es6 箭头函数有 polyfill 吗?

es6箭头函数有polyfill吗?以下代码在IE中抛出语法错误异常,是否有polyfill让IE支持箭头函数?varmyFunc=()=>{alert('es6');}myFunc();注意:我不想使用任何transpiler。提前致谢 最佳答案 polyfill可以添加或修复缺失的内置类、函数、对象……但它不能修改编译器接受的语法。 关于javascript-es6箭头函数有polyfill吗?,我们在StackOverflow上找到一个类似的问题: ht

javascript - es6类中如何声明私有(private)变量和私有(private)方法

这个问题在这里已经有了答案:HowtoworkwithprivatevariablesinES6?[duplicate](4个回答)关闭6年前。在es5中我们使用构造函数functionPerson(name,gender){varinitial="";//weusevarkeywordtomakevariableprivatefunctiongetNameWithInitial(){//thisistheprivatemethodtogetnamewithinitialconsole.log(this);initial=this.gender==="male"?"Mr.":"Mrs.

javascript - ESLint ES6 Redux global-required Unexpected require();

我在使用ESLint时遇到了这个问题,我不能自己解决问题,正如您在屏幕截图中看到的那样,这些商店对于每个环境都是分开的,我该如何解决这个问题才能让ESLint开心并让我学习新事物? 最佳答案 这是因为您需要分支代码:http://eslint.org/docs/rules/global-require.如果您不想更改代码,只需添加禁用注释即可:/*eslint-disableglobal-require*///yourcodehere/*eslint-enableglobal-require*/

node.js - ES6 Promises - 在 Promise 链中调用同步函数

我目前正在试验Promise并且有一个非常基本的问题!在Promise链中,调用同步函数会是不好的做法吗?例如:.then(function(results){if(checkIfResultInMemory(results)===true){returngetTotalFromMemory()}returnresults;})或者我的同步函数也应该被重构以返回promise? 最佳答案 Withinapromisechain,woulditbebadpracticetocallasynchronousfunction?不,这根本不

没有名称的 Javascript ES6 导入

这个问题在这里已经有了答案:importmodulejusttorunit(2个回答)关闭5年前。我正在运行Webpack、Babel和Vue.js,我想拆分我的入口文件。目前我有一个app.js文件,它是我的应用程序的起点。我有一些代码片段想要放入bootstrap.js文件中,我想将其包含在我的主app.js文件中,我可以有一个干净的文件,可以从Vue开始,然后在其中添加组件。我想在bootstrap.js文件中放入的一些示例:importmessagesNLfrom'./translations/nl';Vue.use(VeeValidate,{locale:'nl',dicti