GoogleがサポートするJavaScriptのバージョンChrome Mozilla Firefoxに関連してサポートしていますか?つまり、Chromeは、FirefoxもサポートするJavaScript 1.6、1.7、または1.8をサポートしていますか?またはそれらのいくつかの組み合わせ?
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で使用されているバージョンを追跡しようとしていると述べました。
Google Chromeは V8 JavaScriptエンジン を使用しており、現在ECMA-262、第3版を実装していると述べています。これは、少なくともバージョン1.5をサポートしていることを意味します。
以下は、単純な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ユーザー)との互換性を目指しており、これらの理由で機能を拒否していました。
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
これは古いスレッドですが、ここに行きます。 Google Chromeは以下に応答しません
function foo(){
let a = 4;
alert(a);
}
foo();
したがって、JavaScript 1.7はサポートされていません