Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 这个代码中的曲线括号有什么问题 const时区={'a':1}; 常量选项=地图(时区,(val,键)=>{ {key} }); console.log(选项);//[未定义]_Javascript_Reactjs_Ecmascript 6_Babeljs_React Jsx - Fatal编程技术网

Javascript 这个代码中的曲线括号有什么问题 const时区={'a':1}; 常量选项=地图(时区,(val,键)=>{ {key} }); console.log(选项);//[未定义]

Javascript 这个代码中的曲线括号有什么问题 const时区={'a':1}; 常量选项=地图(时区,(val,键)=>{ {key} }); console.log(选项);//[未定义],javascript,reactjs,ecmascript-6,babeljs,react-jsx,Javascript,Reactjs,Ecmascript 6,Babeljs,React Jsx,使用箭头函数中的曲线括号,它输出[未定义] const timezone = {'a' : 1}; const options = map(timezone, (val, key) => { <option key={val} value={val}>{key}</option> }); console.log(options); // [undefined] const时区={'a':1}; 常量选项=地图(时区

使用箭头函数中的曲线括号,它输出[未定义]

    const timezone = {'a' : 1};
    const options = map(timezone, (val, key) => {
        <option key={val} value={val}>{key}</option>
    });
    console.log(options);  // [undefined]
const时区={'a':1};
常量选项=地图(时区,(val,键)=>
{key}
);
console.log(选项);//数组[1]
如果箭头函数中没有曲线括号,则输出数组[1]


两个代码块之间发生了什么?

第一个示例没有返回值,第二个示例隐式返回,这是可用箭头函数语法的一个特征

调整第一个示例,使其返回:

    const timezone = {'a' : 1};
    const options = map(timezone, (val, key) => 
        <option key={val} value={val}>{key}</option>
    );
    console.log(options);  // Array[1]

另请看一看。

第一个示例没有返回值,第二个示例隐式返回,这是可用箭头函数语法的一个特性

调整第一个示例,使其返回:

    const timezone = {'a' : 1};
    const options = map(timezone, (val, key) => 
        <option key={val} value={val}>{key}</option>
    );
    console.log(options);  // Array[1]

另请看。

对于数组函数,如果函数只包含一条语句,则可以像在第二个示例中所做的那样,省略花括号。如果执行此操作,函数将隐式返回此语句计算结果的值

如果不省略花括号,则不会发生此隐式返回,从而导致示例中的返回值
undefined


对于数组函数,如果函数只包含一条语句,则可以像在第二个示例中所做的那样,省略小括号。如果执行此操作,函数将隐式返回此语句计算结果的值

如果不省略花括号,则不会发生此隐式返回,从而导致示例中的返回值
undefined


您的第一个示例没有返回任何内容。尽管第二个示例似乎也没有,但没有大括号且只有一条语句的lambda函数将隐式返回对该语句求值的结果

带大括号和不带大括号的等价性是

// 1) with braces (no return):
(param1, param2, …, paramN) => { statements }

// 2) without braces (implicit return):
(param1, param2, …, paramN) => expression

// 3) equivalent to 2 (braces with return statement):
(param1, param2, …, paramN) => { return expression; }
const时区={'a':1};
常量选项=地图(时区,(val,键)=>{
返回({key});
});
console.log(选项);
而且

const timezone = {'a' : 1};
const options = map(timezone, (val, key) => {
    return (<option key={val} value={val}>{key}</option>);
});
console.log(options);
const时区={'a':1};
常量选项=地图(时区,(val,键)=>
{key}
);
console.log(选项);

您的第一个示例没有返回任何内容。尽管第二个示例似乎也没有,但没有大括号且只有一条语句的lambda函数将隐式返回对该语句求值的结果

带大括号和不带大括号的等价性是

// 1) with braces (no return):
(param1, param2, …, paramN) => { statements }

// 2) without braces (implicit return):
(param1, param2, …, paramN) => expression

// 3) equivalent to 2 (braces with return statement):
(param1, param2, …, paramN) => { return expression; }
const时区={'a':1};
常量选项=地图(时区,(val,键)=>{
返回({key});
});
console.log(选项);
而且

const timezone = {'a' : 1};
const options = map(timezone, (val, key) => {
    return (<option key={val} value={val}>{key}</option>);
});
console.log(options);
const时区={'a':1};
常量选项=地图(时区,(val,键)=>
{key}
);
console.log(选项);

不带大括号的箭头函数隐式返回正文中的任何内容。带大括号的箭头函数的行为与普通函数一样。@Aurora0001-这应该是一个答案(带有显示简单修复的代码示例)@JustinNiessner看起来我有点错过了这把枪-其他3个人已经回答了,老实说,不值得再添加一个答案。不带大括号的箭头函数的可能复制会隐式返回体内的任何内容。带大括号的箭头函数的行为与普通函数一样。@Aurora0001-这应该是一个答案(带有显示简单修复的代码示例)。@JustinNiessner看起来我有点错过了枪-其他3个函数已经回答了,老实说,不值得再为其添加另一个答案。可能是