web-dev-qa-db-ja.com

Google Chrome-JavaScriptバージョン

GoogleがサポートするJavaScriptのバージョンChrome Mozilla Firefoxに関連してサポートしていますか?つまり、Chromeは、FirefoxもサポートするJavaScript 1.6、1.7、または1.8をサポートしていますか?またはそれらのいくつかの組み合わせ?

46
brad

Chromeは「javascript1.7」とマークされたJavascriptを実行しますが、「let」スコープ変数演算子のようなJS1.7機能をサポートしません。

このコードは、Firefox 3.5で実行されますが、Chrome V8を使用する場合)では実行されません。

<script language="javascript" type="application/javascript;version=1.7">
    function foo(){ let a = 4; alert(a); }; foo();
</script>

言語を「javascript1.7」に変更し、タイプを省略すると、Firefox 3.5のJS 1.7機能では実行できません。タイプセクションが必要です。

これは一般的なWebKitバグに関連しているようです https://bugs.webkit.org/show_bug.cgi?id=23097 ; Chromeは別のエンジンを使用していても、Safariの動作をエミュレートしている可能性があります。

JS 1.8機能のサポートについて尋ねられたとき 、V8チームは、ページが両方のブラウザーで同じように機能するように、Safariで使用されているバージョンを追跡しようとしていると述べました。

41
Ben Combee

このスレッドはまだ関連しています。 2012年現在、Chromeは、文字列と配列のジェネリックを含まないほとんどのJavaScript 1.6をサポートしています。1.7はサポートしていません。1.8からのreduceおよびreduceRight、1.8.1のすべて、およびゲッターとセッターおよび このページ にリストされているすべての非バージョン固有のものこのページは、JavaScriptのバージョンを指定するMozilla Developer Networkからリンクされており、 ここ にあります。

17
Case

Google Chromeは V8 JavaScriptエンジン を使用しており、現在ECMA-262、第3版を実装していると述べています。これは、少なくともバージョン1.5をサポートしていることを意味します。

13
J c

以下は、単純なJavascript 1.6機能ですChrome(およびnode.jsなどのV8ユーザー)は実行されません: for each…in

for each (variable in object)
  statement

それはJS 1.5なので(J cの答えによると)唯一のバージョンChromeは完全に実装すると主張しています。

実際、Chromeチームは、主にSafari(当時最も著名なWebkitユーザー)との互換性を目指しており、これらの理由で機能を拒否していました。

10
Tobu

Google ChromeはJavascript 1.7までサポートしています:

<script language="javascript1.7">alert(1.7);</script> - Alerts
<script language="javascript1.8">alert(1.8);</script> - Doesn't alert
7
Greg

これは古いスレッドですが、ここに行きます。 Google Chromeは以下に応答しません

function foo(){
  let a = 4;
  alert(a);
}
foo();

したがって、JavaScript 1.7はサポートされていません

4
Jens Larsen