このロケールの翻訳が存在しないため、英語バージョンのコンテンツを表示しています。 この記事の翻訳にご協力ください!
この付録リストは JavaScript で廃止予定 (まだ使用できるが削除する予定) とされた、あるいは既に廃止され使用不可となった機能の一覧です。
非推奨の機能
これらの非推奨機能はまだ使用可能かもしれません。しかし将来的には完全に削除されるでしょう。既にあなたがコード内でこれらを使用している場合は、代替となるコードに置き換えておく必要があります。
RegExp オブジェクトのプロパティ
以下のプロパティは非推奨です。これらは文字列置換で使用しても効果がありません。
| プロパティ | 説明 |
|---|---|
$1-$9 |
(もしあれば)括弧で囲まれた部分文字列にマッチします。
警告:このプロパティを使うことで、問題が起きる恐れがあります。なぜなら、ブラウザーの拡張がそれらを変更可能なためです。使用は避けるべきです。 |
$_ |
input プロパティを参照してください。 |
$* |
multiline プロパティを参照してください。 |
$& |
lastMatch プロパティを参照してください。 |
$+ |
lastParen プロパティを参照してください。 |
$` |
leftContext プロパティを参照してください。 |
$' |
rightContext プロパティを参照してください。 |
input |
正規表現がマッチする対象となる文字列。 |
lastMatch |
最後にマッチした文字。 |
lastParen |
(もしあれば)最後に括弧で囲まれた部分文字列のマッチ。 |
leftContext |
一番最近のマッチに先行する部分文字列。 |
rightContext |
一番最近のマッチの後に続く部分文字列。 |
以下は、現在、RegExp インスタンスのプロパティであり、もはや、RegExp オブジェクトのプロパティではありません。
| プロパティ | 説明 |
|---|---|
global |
対象文字列で可能なマッチすべてに対して正規表現をテストするか、それとも、最初のマッチに対してのみテストするどうかのフラグ。 |
ignoreCase |
文字列でのマッチを適用する際に、大文字と小文字の違いを無視するかどうかのフラグ。 |
lastIndex |
次のマッチが始まる位置。 |
multiline |
複数行に渡って文字列を検索するかどうかのフラグ。 |
source |
パターンのテキスト。 |
RegExp オブジェクトのメソッド
compile()メソッドは、非推奨です。valueOfメソッドは、もはやRegExpのみのメソッドではありません。Object.valueOf()を使用してください。
Function オブジェクトのプロパティ
callerとargumentsプロパティは廃止されました。これは呼び出した関数を取得できてしまうためです。この arguments プロパティの代わりに、クロージャ内部のargumentsオブジェクトを使うべきです。
旧形式のジェネレーター
旧形式のジェネレーター関数文および旧形式のジェネレーター関数式は非推奨です。代わりにfunction* 文およびfunction* 式を使用してください。JS1.7/JS1.8 の配列内包およびJS1.7/JS1.8 のジェネレーター内包は非推奨です。
イテレーター
StopIterationは非推奨です。Iteratorは非推奨です。
Object オブジェクトのメソッド
watchおよびunwatchは非推奨です。代わりにProxyを使用してください。__iterator__は非推奨です。__noSuchMethod__は非推奨です。代わりにProxyを使用してください。
Date オブジェクトのメソッド
getYearとsetYearは「2000年問題」の影響を受けます。代替策として、getFullYearおよびsetFullYearの使用が推奨されます。- 新しいコードでは非推奨の
toGMTStringメソッドは用いず、代わりにtoISOStringを用います。 toLocaleFormatは非推奨です。
関数
Proxy
- Proxy.create および Proxy.createFunction は非推奨です。代わりに
Proxyを使用してください。 - 以下のトラップは廃止しました:
hasOwn(バグ 980565, Firefox 33).getEnumerablePropertyKeys(バグ 783829, Firefox 37)getOwnPropertyNames(バグ 1007334, Firefox 33)keys(バグ 1007334, Firefox 33)
エスケープシーケンス
- 文字列内と正規表現リテラル内での、8 進表記のエスケープシーケンス (\ に続く、1 つ、2 つ、もしくは、3 つの 8 進表現の数字) は非推奨です。
escapeとunescape関数は非推奨です。特殊文字のためのエスケープシーケンスをエンコードかデコードするためには、encodeURI、encodeURIComponent、decodeURIもしくはdecodeURIComponentを使用してください。
String オブジェクトのメソッド
String.prototype.fontsizeやString.prototype.bigなどの HTML ラッパーメソッド。String.prototype.quoteは Firefox 37 で削除しました。String.prototype.search、String.prototype.match、String.prototype.replaceの非標準パラメータflagsは非推奨です。String.prototype.substrprobably won't be removed anytime soon, but it's defined in Annex B of the ECMA-262 standard, whose introduction states: "… Programmers should not use or assume the existence of these features and behaviours when writing new ECMAScript code. …"
廃止された機能
これらは JavaScript において完全に廃止されており、現在では使用不可となっています。
Object
| プロパティ/メソッド | 概要 |
|---|---|
__count__ |
ユーザーがオブジェクトに直接定義した、列挙可能なプロパティの個数 |
__parent__ |
オブジェクトのコンテキストへのポインタ |
Object.prototype.eval() |
指定したオブジェクトのコンテキスト内の JavaScript コードの文字列を評価します。 |
Object.observe() |
オブジェクトに対する変更を非同期に監視します。 |
Object.unobserve() |
observer を削除します。 |
Object.getNotifier() |
総合的に変更をトリガーできるオブジェクトを生成します。 |
Function
| プロパティ | 概要 |
|---|---|
arity |
仮引数の個数 |
Array
| プロパティ | 説明 |
Array.observe() |
配列に対する変更を非同期に監視します。 |
Array.unobserve() |
observer を削除します。 |
Number
ParallelArray
文
for each...in文は非推奨です。代わりにfor...ofを使用してください。- 分割代入型
for...inは非推奨です。代わりにfor...ofを使用してください。 - let blocks and let expressions are obsolete.
E4X
詳しくは E4X をご覧ください。
シャープ変数
詳しくは Sharp variables in JavaScript をご覧ください。