2017-11-19 16 views
0

私は、ECMAscript3とECMAscript5の間に多少の違いがあるため、私は自分のブラウザ(例えばchrome 59)で何を使用しているのか見たいと思っています。
これに関する関連情報が見つかりましたが、ECMAscriptバージョンの検出方法に関する具体的な回答が見つかりません。
ありがとうございました。ECMAscriptのバージョンを検出するには?

答えて

2

あなたは、具体的MapようES6に追加されたいくつかのデータ構造を使用しようとすることができてもよいし、SetなどこれはES5ES6を区別することですが、あなたは存在しないES5に追加された機能について調べることができますあなたの場合はES3にありますか?

try { 
 
    var k = new Map(); 
 
    console.log("ES6 supported!!") 
 
} catch(err) { 
 
    console.log("ES6 not supported :(") 
 
} 
 

 
try { 
 
    var k = new HashMap(); 
 
    console.log("ES100 supported!!") 
 
} catch(err) { 
 
    console.log("ES100 not supported :(") 
 
}

+0

あなたの助言をありがとう:)。 – jacky

+1

'new'演算子はコンストラクタ/関数名の存在のみをチェックできます。機能をチェックするために、より多くのテストを追加する方が良いです。 – themefield

2

ブラウザは通常、一度にECMAScriptバージョンのすべての機能を実装していないため、これは可能ではないと思います。そのため、Modernizrのような図書館と、Can I use ...のような図書館があり、どのような機能を使用できるかがわかります。

ユーザーのブラウザのバージョンでのRegExの動作を決定する小さなテストを作成することはできます。

+0

あなたのアドバイスありがとうございました:)。 – jacky

1

のECMAScriptは、業界標準である:

のECMAScriptは、ECMA-262およびISO/IEC 16262.でEcmaインターナショナルによって標準化された商標登録のスクリプト言語仕様 それは です複数の 独立した実装を促進するために、JavaScriptを標準化するために作成されました。

Javascriptが多かれ少なかれ、人気の実装です:標準が最初に公開されたので、

JavaScriptは、JScriptのを含む他のよく知られた実装と をするECMAScriptの最もよく知られ 実装を続けていると、 ActionScript Node.jsのなど、さまざまなブラウザでのJavaScriptの実装の現在の状態を考慮しwikipedia

、誰が、具体的に自分自身をバージョン管理しないが、新しい機能が進化し続けています。だから、最善の方法は、おそらくサードパーティ製のlibsを検出することです。それ以外の場合は、より伝統的なものに落ちる。通常は、いくつかの操作を試してから、期待通りに魔法をチェックしません。

関連する問題