jQuery

【jQuery】IE でデフォルト引数が使えない対処法

デフォルト引数

下記のようなコードを記述したところ、IE の場合のみエラーになりました。
調べたところ、IE ではデフォルト引数が使えずエラーになるようです。

function method(item = '') {
    if (item === '') {
        return 'empty';
    }
    else {
        return item;
    }
}


IEユーザを考慮した場合、下記のように修正する必要があります。
デフォルト引数はやめて、最初に undefined かどうかを確認するようにします。そうすれば呼び出し元は修正する必要はなかったです。

function method(item) {
    if (item === undefined) {
        return 'empty';
    }
    if (item === '') {
        return 'empty';
    }
    else {
        return item;
    }
}

StartsWith

デフォルト引数以外にも、IEで startsWith メソッドを使うとエラーになるようです。

function method(item) {
    let str = 'pg-life';
    return str.startsWith(item);
}


コードは増えますが、substr メソッドで代用することで対応できます。

function method(item) {
    let str = 'pg-life';
    return str.substr(0, item.length) === item;
}
エンジニアの転職ならこれ!

【第二新卒向け】マイナビジョブ20's

マイナビジョブ20'sは、20代・第二新卒・既卒向けの転職エージェントです。

▼こんな方におすすめ
・はじめて転職しようと思っている
・転職できるだけのスキルが自分にあるか不安
・手厚いサポートを受けたい

【フリーランス向け】安心保障と豊富な案件紹介 Midworks

Midworksは豊富な案件と「フリーランス」と「正社員」の良いとこ取りをした働き方を実現する手厚い保障が特徴です。

▼こんな方におすすめ
・現在正社員でフリーランスになろうか悩んでいる
・フリーランスとして働いているが、先行きが不安がある  (安定的な案件確保や保障など)
・自分の市場価値を知りたい、見合った案件で参画したい
・今後のキャリアビジョンを踏まえて案件を選びたい

【未経験向け】自宅で現役エンジニアから学べる TechAcademy

テックアカデミーは、現役エンジニアから学べるオンラインに特化したプログラミングスクールです。
講師は全員、通過率10%の選考に合格した現役エンジニア。
確かなスキルをもとに受講生をマンツーマンサポートします。


▼こんな方におすすめ
・自宅にいながらオンライン完結で勉強できる
・受講生に1人ずつ現役エンジニアのパーソナルメンターが専属でつく
・チャットで質問すればすぐに回答が返ってくる
・オリジナルサービスやオリジナルアプリなどの開発までサポート