The generated JS is invalid here, somewhat unexpectedly (I suppose parentheses are required):

(defun foo (obj)
  (create :abc (let ((x (gethash "blah" obj)))
                 (if x 123 456))))

=>

function foo(obj) {
    var x;
    return { 'abc' : x = obj['blah'], x ? 123 : 456 };
};