非標準の String 汎用メソッドが廃止予定となりました

公開日:

カテゴリー: JavaScript

リリース: Firefox 53, Firefox 60 ESR

概要

JavaScript 1.6 で導入された非標準で Firefox 独自の String 汎用メソッド は廃止予定となり、近い将来削除されることとなりました。これらの汎用・静的メソッドには以下のものが含まれます。

  • String.charAt
  • String.charCodeAt
  • String.concat
  • String.endsWith
  • String.includes
  • String.indexOf
  • String.lastIndexOf
  • String.localeCompare
  • String.match
  • String.normalize
  • String.replace
  • String.search
  • String.slice
  • String.split
  • String.startsWith
  • String.substr
  • String.substring
  • String.toLocaleLowerCase
  • String.toLocaleUpperCase
  • String.toLowerCase
  • String.toUpperCase
  • String.trim
  • String.trimLeft
  • String.trimRight

以下に汎用メソッドの代替策をいくつか挙げます。

// 非推奨
String.replace(num, search, replace);
// 代替策 1: String グローバルオブジェクト
String(num).replace(search, replace);
// 代替策 2: 昔ながらの方法
String.prototype.replace.call(num, search, replace);

なお、String.prototype 上の標準インスタンスメソッドには当然ながら影響はありません。以下の静的メソッドも ECMAScript 2015 (ES6) 仕様に含まれており、削除される予定はありません。

更新: String 汎用メソッドは Firefox 68 で削除されました

更新 2 この記事の初期バージョンは Array 汎用メソッドにも言及していましたが、Array 汎用メソッドは Firefox 53 ではなく Firefox 68 以降公式に廃止予定となりました。この記事は訂正済みです。

これをテストするには?

この変更は当プロジェクト提供の Firefox 開発者ツール拡張機能 に含まれている互換性チェッカーでテスト可能です。今すぐインストールしましょう!

参考資料