как создать переменную в conditional express js node js

#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"