当我将'e'参数放在方括号中,然后使用ES6箭头功能时,控制台上出现错误消息'Uncaught SyntaxError:Unexpected token =>'。但是,从括号中删除参数时没有错误。参数是否应该有括号?
//Event: add book
document.querySelector("#book-form").addEventListener("submit", (e)
=> {
//prevent default
e.preventDefault();
// get form value
const title = document.querySelector("#title").value;
const author = document.querySelector("#author").value;
const isbn = document.querySelector("#isbn").value;
答案 0 :(得分:0)
箭头函数在参数和=>
之间不能有换行符:
14.2 Arrow Function Definitions
ArrowFunction [输入,收益,等待]:
- ArrowParameters [?Yield,?Await] [此处没有LineTerminator] => ConciseBody
删除换行符,或将其放在其他位置。您也可以改用命名函数,例如:
const submitHandler = (e) => {
// ...
};
document.querySelector("#book-form").addEventListener("submit", submitHandler);
答案 1 :(得分:0)
首先,您的函数调用和函数声明未关闭。其次,箭头不能仅在其直线上。
//Event: add book
document.querySelector("#book-form").addEventListener("submit", (e) => {
//prevent default
e.preventDefault();
// get form value
const title = document.querySelector("#title").value;
const author = document.querySelector("#author").value;
const isbn = document.querySelector("#isbn").value;
//Close function body, then function call.
});