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代・第二新卒・既卒向けの転職エージェントです。

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

【経験者向け】レバテックキャリア

ITエンジニア専門の転職エージェントです。

元エンジニアなど高い専門性を持つアドバイザーが理想の求人を提案してくれます。

▼こんな方におすすめ
・20代後半~40代前半
・年収を上げたい
・スキルアップしたい
・手厚いサポートを受けたい

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です