在 JavaScript 三元运算中不计算 null 值

null value not be evaluated in JavaScript ternary operation

我有一个具有此功能的 javascript 游戏,当用户将鼠标悬停在某个元素上时会显示数据。

这是它的样子:

gameRendering: function (game, e) {

    var playerCharacterTitle = game.playerCharacterTitle;

    
    $(user).hover({
        content: '<b>Game Characters</b>'
            + (playerCharacterTitle) !== null ? '<b>PC Name:</b> ' + playerCharacterTitle : ''
    });
    

当名为 playerCharacterTitle 的变量不为空时,我希望它显示:“PC 名称:{the_name}”,当名称为空时,我希望它不显示任何内容。

像这样:

PC Name: Gorak

PC Name: LeMara

但出于某种原因,它仍然显示“PC 名称:”,然后是 'null'... 像这样:

PC Name: Gorak

PC Name: null

PC Name: LeMara

PC Name: null

我没有收到任何错误,只有我不喜欢的结果。

我可能做错了什么?

谢谢!

你忘了放括号(所谓的运算符优先规则):

gameRendering: function (game, e) {

    var playerCharacterTitle = game.playerCharacterTitle;

    
    $(user).hover({
        content: '<b>Game Characters</b>'
            + (playerCharacterTitle !== null ? '<b>PC Name:</b> ' + playerCharacterTitle : '')
    });

function gameRendering(game, e) {

    var playerCharacterTitle = game.playerCharacterTitle;

    
    //$(user).hover({
        var content = '<b>Game Characters</b>'
            + (playerCharacterTitle !== null ? '<b>PC Name:</b> ' + playerCharacterTitle : '')
    //});
    console.log(content)
}

gameRendering({playerCharacterTitle: null}, 'a');
gameRendering({playerCharacterTitle: "SomeName"}, 'a');