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

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

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

環境

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

エラー内容

以下の三項演算子で「return」を使用したコードで発生。

function fn(n) {

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

}

console.log( fn(0) )

エラーメッセージ

Uncaught SyntaxError: Unexpected token 'return'

画像

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

Uncaught SyntaxError: expected expression, got keyword 'return'

画像

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

SyntaxError: Unexpected keyword 'return'

画像

原因

三項演算子は、式なため「return」できない

解決方法

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

function fn(n) {

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

}

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

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

let return = 'foo'