基本JavaScript语法

Pru*_*wee 5 javascript javascript-objects reactjs

我对JavaScript语法有一些疑问,并期待了解它们.

第一:我不明白下面这个语法,

{
    Key: () => function()
}
Run Code Online (Sandbox Code Playgroud)

实际项目中的示例:

// Define URL routes
// See https://github.com/flatiron/director
var routes = {
    '/': () => render(require('./components/pages/Index')),
    '/privacy': () => render(require('./components/pages/Privacy'))
};
Run Code Online (Sandbox Code Playgroud)

它已在https://github.com/kriasoft/react-starter-kit/blob/master/src/app.js中使用

它假设做什么?

它是一样的{ Key: function() {} }吗?

第二:关于JavaScript Object中的函数,

{
    function() {}
}
Run Code Online (Sandbox Code Playgroud)

实际项目中的示例:

var HomePage = React.createClass({
    statics: {
        layout: App
    },
    componentWillMount() {
        PageActions.set({title: 'React.js Starter Kit'});
    },
    render() {
        return (.....);
    }
});
Run Code Online (Sandbox Code Playgroud)

它已被用于https://github.com/kriasoft/react-starter-kit/blob/master/src/components/pages/Index.js

我想感谢您解释为什么这些有效或者您是否可以向我发送有关JavaScript对象的这些语法的正确信息的答案?

Pie*_*ouw 5

这是在ES6(JavaScript的下一个版本)中编写函数的新方法.您可以在此处找到更多信息.

目前不支持ES6(参见此),因此您需要在ES5中编译ES6.(在这里发生,在你的例子中带有"和谐"标志),使其在浏览器中运行.

基本上:

var test = () => {} 是相同的 var test = function() {}.bind(this)

componentWillMount() {} 是相同的 componentWillMount:function() {}