WEBTODESIGN

IEでデフォルト引数が使えない問題

例えば下記のように、イコールでデフォルト値を設定できて便利ですよね。

const event = function( x = 'デフォルト値' ){
    console.log(x);
}

IEでエラーが出る

IEではエラーが出て、それ以上処理を進めてくれません!

しかも「’)’ がありません。」とかいうワケワカランエラーです。

if文を追加する

引数に書いていたデフォルト引数の記述は消して、以下のようにif文を追加します。

const event = function( x ){
      if(typeof x === 'undefined') x = '0px';
    console.log(x);
}

「もしxがundefinedだった場合xに『0px』を代入する」という記述ですね。

引数の部分でサクッとやっていた部分をこんなふうに書き換えなければならないとは…。

いやはや。

ただ、2022年6月にIEはサポートが切れるので、もう対応はやめようと思ってます😂対価が労力に見合わないもんね〜