将表达式分配给三元运算符

Assigning expressions to a Ternary Operator

我有一个关于三元运算符的好问题,我试图给表达式一个不同的值。但是我遇到了一个错误,直到今天,我以前从未尝试过使用三元运算符来做到这一点。为什么我不能让表达式成为三元运算符的结果?(我知道它也需要函数)他们没有发布 JavaScript 来拥有这种能力有什么具体原因吗?

function chessboard(x, y){
    var board = '';
  var picker = true;
  for(var i = 1; i < y+1; i++){
    var j = 0;
        for(j = 0; j < x; j++){
        picker ? board += '#';picker= false; : board += ' ';picker= true;
      board += '\n';
    }
  }
  return board;
}

我会将作业分配给

board += picker ? '#' : ' ';
picker = !picker;

虽然它更清楚发生了什么。

否则这会起作用(但我不推荐它!):

picker ? (board += '#', picker = false) : (board += ' ', picker = true);