#javascript #node.js #express
#javascript #node.js #выразить
Вопрос:
я хочу создать переменную на основе conditional, но даже простым кодом я не могу получить новую переменную, это мой код
exports.productPatch = (req, res, next) => {
const id = req.params.productId;
const image = req.body.productImage;
if(image){
const newImage = image;
}else{
const newImage = "1598173461682-636126917.jpg";
}
console.log(newImage);
}
но когда я вызываю newImage, ответ не определен
Ответ №1:
Попробуйте это
const newImage = (изображение) ? изображение: "1598173461682-636126917.jpg "
Если это выдает undefined, проверьте, действительно ли тело вашего запроса отправляет ProductImage.
Ответ №2:
Вы не можете переназначать и повторно объявлять переменную, объявленную с помощью const
(см. это).Для вашего кода вы можете использовать let
, а затем переназначить его в соответствии с условием.
exports.productPatch = (req, res, next) => {
const id = req.params.productId;
const image = req.body.productImage;
let newImage;
if(image){
newImage = image;
}else{
newImage = "1598173461682-636126917.jpg";
}
console.log(newImage);
}
Ответ №3:
Пожалуйста, проверьте const
область видимости по ссылке ниже
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const
Значение константы не может быть изменено путем переназначения, и оно не может быть повторно объявлено.
используйте let
вместо const
, как показано ниже, в качестве ответа @Divin
let newImage = (image) ? image : "1598173461682-636126917.jpg"