Javascript 未捕获的语法错误:意外标记';如果';

Javascript 未捕获的语法错误:意外标记';如果';,javascript,if-statement,Javascript,If Statement,我是Javascript新手 代码:- $('#similar-artist').append('<div class="chip" data-uuid="'+ item.artist_id +'" >'+ item.name + ' ' + if (item.last_name){ item.last_name }else{} +'</div>'); $(“#类似艺术家”).append(“”+item.name+“”+i

我是Javascript新手

代码:-

$('#similar-artist').append('<div class="chip" data-uuid="'+ item.artist_id +'" >'+ item.name  + '  ' + if (item.last_name){ item.last_name }else{}  +'</div>');
$(“#类似艺术家”).append(“”+item.name+“”+if(item.last_name){item.last_name}else{}+“”);
错误:-
未捕获的语法错误:意外标记“if”


谢谢

在字符串表达式中不能使用if-else


if(item.last\u name){item.last\u name}else{}
更改为
(item.last\u name?item.last\u name:“”)
,因为后者返回一个字符串,相当于字符串表达式中不能使用if-else的字符串表达式


if(item.last_name){item.last_name}else{}
更改为
(item.last_name?item.last_name:“”)
,因为后者返回一个字符串,相当于字符串表达式

您需要使用条件运算符,因为它解析为表达式(
if
不能在表达式上下文中使用):

<>但是,更好的是,考虑使用模板文字,以提高可读性:

const html = `<div class="chip" data-uuid="${item.artist_id}">${item.name}  ${item.last_name || ''}</div>`;
$('#similar-artist').append(html);

您需要使用条件运算符,因为它解析为表达式(
如果不能在表达式上下文中使用
):

<>但是,更好的是,考虑使用模板文字,以提高可读性:

const html = `<div class="chip" data-uuid="${item.artist_id}">${item.name}  ${item.last_name || ''}</div>`;
$('#similar-artist').append(html);

不能将
if
语句粘贴到表达式的中间。是否尝试使用item.last\u name?item.last_name:{}或item.last_name??“”您可以在代码中添加一些换行符以使其更易于阅读吗?您不能将
if
语句粘贴到表达式的中间。请尝试item.last\u name?item.last_name:{}或item.last_name??“”能否在代码中添加一些换行符以使其更易于阅读?
const html = `<div class="chip" data-uuid="${item.artist_id}">${item.name}  ${item.last_name || ''}</div>`;
$('#similar-artist').append(html);
$(`<div class="chip" />`)
  .attr('data-uuid', item.artist_id)
  .text(`${item.name}  ${item.last_name || ''}`)
  .appendTo('#similar-artist');