この付録リストは 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)
let
エスケープシーケンス
- 文字列及び正規表現リテラル内での、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
は非推奨です。
廃止された機能
これらは 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
を使用してください。
E4X
詳しくは E4X をご覧ください。
シャープ変数
詳しくは Sharp variables in JavaScript をご覧ください。