Tag: ecmascript 6

为什么不应该使用箭头函数或绑定?

我正在使用我的React应用程序运行lint,并收到此错误消息: error JSX props should not use arrow functions react/jsx-no-bind 这就是我正在运行箭头函数(在onClick ): {this.state.photos.map(tile => ( <span key={tile.img}> <Checkbox defaultChecked={tile.checked} onCheck={() => this.selectPicture(tile)} style={{position: 'absolute', zIndex: 99, padding: 5, backgroundColor: 'rgba(255, 255, 255, 0.72)'}} /> <GridTile title={tile.title} subtitle={<span>by <b>{tile.author}</b></span>} actionIcon={<IconButton onClick={() => this.handleDelete(tile)}><Delete color="white"/></IconButton>} > <img onClick={() => this.handleOpen(tile.img)} src={tile.img} style={{cursor: 'pointer'}}/> </GridTile> </span> ))} 这是一个不好的做法,应该避免? […]

JavaScript中的“function *”是什么?

在这个页面中,我发现了一个新的JavaScript函数types: // NOTE: "function*" is not supported yet in Firefox. // Remove the asterisk in order for this code to work in Firefox 13 function* fibonacci() { // !!! this is the interesting line !!! let [prev, curr] = [0, 1]; for (;;) { [prev, curr] = [curr, prev + curr]; yield curr; } } […]

使用es6类时,React中的“super()”和“super(props)”有什么区别?

何时将props传递给super()是重要的,为什么? class MyComponent extends React.Component { constructor(props) { super(); // or super(props) ? } }

ES6的箭头函数和Function.prototype.bind绑定的函数有什么区别(如果有的话)?

在我看来,在ES6中,以下两个函数几乎是相同的: function () { return this; }.bind(this); () => { return this; }; 最终的结果看起来是一样的:箭头函数产生一个JavaScript函数对象,它们的this上下文被绑定到与创build它们相同的值。 显然,在一般意义上, Function.prototype.bind比箭头函数更灵活:它可以绑定到除本地以外的值,并且可以在任何时间点绑定任何函数。 然而,我不是问如何bind本身是不同的箭头function,我问如何箭头function不同于立即调用bind与this 。 ES6中两个构造之间是否有区别?

使用括号与JavaScript导入语法

我碰到一个JavaScript库,使用以下语法来导入库: import React, { Component, PropTypes } from 'react'; 上述方法和以下方法有什么区别? import React, Component, PropTypes from 'react';

javascript中的多个箭头函数是什么意思?

我一直在阅读一堆react代码,我看到这样的东西,我不明白: handleChange = field => e => { e.preventDefault(); /// Do something here }

ECMAScript 6function在Node.js 0.12中可用

Node.js(0.12)的一个新的稳定版本最近登陆升级的Google的v8 JavaScript引擎, v3.28.73 。 什么ECMAScript 6function目前在Node.js中,而不使用–harmony标志? 我检查了几个网站,声称列出的ES 6function,但他们都似乎过时了 – 最显着的是, 这张表 ( 更新: 现在更新与当前Node.js状态0.12 ),因为几个function被列为需要–harmony标志,而我发现其中一些是默认启用(地图,集合,符号,仅举几例)。 更新 : 节点特定的表已经可用 此外,试图纯粹为v8引擎谷歌这个信息提供了最新的信息 – 目前的v8版本是4.2。* ,这是比Node.js使用相当的领先。 我希望这个问题(及其答案)将成为一个全面的总结,介绍Node.js开发人员现在可以使用哪些ES 6function。 在Node.js 0.12中启用了ES 6function我目前知道: 地图,集合/弱地图,弱集合 符号 Object.observe 承诺 数 .isInteger .isSafeInteger .isNaN 小量 .MIN_SAFE_INTEGER .MAX_SAFE_INTEGER math .clz32 .imul 。标志 .log10 .log2 .log1p .expm1 .cosh .sinh .tanh .acosh .asinh .atanh .trunc .fround .cbrt […]

让语句在全局对象上创build属性?

在JavaScript中, var声明在全局对象上创build属性: var x = 15; console.log(window.x); // logs 15 in browser console.log(global.x); // logs 15 in Node.js ES6引入了具有块范围的声明的词法范围。 let x = 15; { let x = 14; } console.log(x); // logs 15; 但是,这些声明是否会在全局对象上创build属性? let x = 15; // what is this supposed to log in the browser according to ES6? console.log(window.x); // 15 in […]

Javascript对象文字:究竟是{a,b,c}?

我所拥有的问题最好通过这个jsfiddle给出 ,代码如下: var a = 1, b = 'x', c = true; var d = {a: a, b: b, c: c}; // <— object literal var e = [a, b, c]; // <— array var f = {a, b, c}; // <— what exactly is this?? // these all give the same output: alert(da + […]

使用Node.js需要与ES6导入/导出

在我正在合作的一个项目中,我们有两个select我们可以使用的模块系统: 使用require导入模块,并使用module.exports和module.exports导出。 使用ES6 import导入模块,并使用ES6 export 使用其中一个有什么性能好处? 如果我们要在节点上使用ES6模块,还有什么我们应该知道的吗?