javascript 三項演算子でreturn使用時にエラー「Uncaught SyntaxError: Unexpected token ‘return’」の解決方法

javascript 三項演算子でreturn使用時にエラー「Uncaught SyntaxError: Unexpected token ‘return’」の解決方法

javascriptで、三項演算子でreturn使用時にエラー「Uncaught SyntaxError: Unexpected token ‘default’」が発生した場合の原因と解決方法を記述してます。

環境

  • OS windows11 pro 64bit
  • Apache 2.4.43
  • ブラウザ chrome 102.0.5005.115

エラー内容

以下のコードで発生。

function fn(n) {

    ( n === 0) ?  return "0です" : return "0ではありません";

}

console.log( fn(0) )

エラーメッセージ

Uncaught SyntaxError: Unexpected token 'return'

画像

firefox(バージョン102)では、以下のエラーとなります。

Uncaught SyntaxError: expected expression, got keyword 'return'

画像

safari(15.5)では、以下のエラーとなります。

SyntaxError: Unexpected keyword 'return'

画像

原因

三項演算子は、式なため

解決方法

三項演算子を、そのまま「return」する

function fn(n) {

    return ( n === 0) ?  "0です" :  "0ではありません";

}

console.log( fn(0) ) // 0です

ちなみに、このエラーは「return」を変数として使用しようとしても発生します。

let return = 'foo'