V8とECMAScriptの相違点の一覧はどこにありますか?たとえば、V8はconst
をサポートしていますが、これはECMAScript標準の一部ではありません。V8とECMAScriptの相違点
答えて
編集:直接答え:Track status of ES5 implementations in progressV8 googlecode issues tagged es5 またはhttps://github.com/joyent/node/wiki/ECMA-5-Mozilla-Features-Implemented-in-V8
V8を示しエッジケースの一握りから現在さておきES5のすべてを実装し、だけにして順番にどのように他の現在の大多数に準拠してブラウザーは与えられた状況を処理します。
それ自体では生きていないので、あなたが扱う相違点のほとんどすべてが、それを囲むホスト環境の実装になります。ほとんどの場合、これはWebブラウザが提供するさまざまなAPIです。ブラウザ以外の例として、Node.jsはファイルシステムとネットワークの対話のためのカスタムAPIを提供します。コア言語の面では、それほど大きな揺れの部屋はありません。 DOMを除いて、JavaScriptは使い方が簡単で(なぜそれがすばらしいのか)、仕様書があります。
ES5はES3からの反復処理で、 'use strict'を使用しないと、ほぼ100%後方互換性があります。ほぼ10年の停滞の後、主要なJavaScriptエンジンの実装者の間でコンセンサスを得ることができないことにより、ES5は生まれつき制限され、言語の最悪の問題点を取り除きました。主流の使用ES5の範囲は、Array extras、Object extras(主にObject.create)、Function.bind、strictモード(ストライピング機能についてはが完全に)、JSONとbase64のようなネイティブヘルパー。
この 240 page specificationの大半は、苦労など、ほぼ15年間、JavaScriptで存在している行動についてのすべての詳細だけでなく、非推奨となり、最終的にwith
(削除される機能のリスト、
eval
の様々な用途を定義するのに費やされている
)。
ハーモニー(ES6)は、私たちが目にする最初の大きな変化です。 ES5は、同じページにエンジン実装を実装し、JSの問題のある部分の大部分を取り除くという目標を達成しました。 ES6を楽しみにして、修正するために構文の変更を必要とするいくつかの基本的な言語問題に取り組む時です。 ES6は2013年後半に完成予定ですが、JSエンジンでは大規模なチャンクが既に実装されており、実際の使用方法をテストして確認しています。ウェブは生きているものであり、新しい標準を実装することは、新しい仕様を作成してそれを他のほとんどの業界と同じように世界に広めることではありません。アイデアは浮かれており、実装者レベル(V8、Spidermonkey、JSC、Chakraなどを書いた人)と実際のユーザーレベル(この場合、ユーザーはこれらのエンジンで実行するコードを記述しているWeb開発者です) 。アイボリータワーディクテーションでは使用できなくなります。
具体的にはconst
の場合:これは現在完全には完全には定義されていません。これはV8とSpidermonkeyの機能は似ていますが、まったく同じではなく、ES6と似ていますがまったく同じ意味ではありません。ターゲットオーディエンスのエンジンが現在それをサポートしていると思っているのであれば、おそらくそれを使うのは安全でしょうが、実装されているようにそれは公式な仕様の一部ではありませんでした。 migrating let' and
const'
それ以外にも、JSスクリプトが実行されている特定のエンジンによって公開される「ホストオブジェクト」があります.JavaScriptは実装として最初に存在し、2番目は仕様として存在したため、最近まで非専門家には明らかでしたダイビングラインがどこにあるかを知る。ブラウザで実行されている場合(通常はそうですが)、Document Object Modelは自動使用のためのホストオブジェクトとして公開されています。DOMの機能は、主にIDLを使用して記述されており、W3Cの権限の下にあります。多くの仕様実装には、6つのトップレベルセクション、およそ50の別々のワーキンググループ、およそ1000の別個の仕様が含まれています。これらはJavaScriptに公開されているインターフェイスですが、JavaScript仕様の要件によって完全に変更されていません。 DOMは、記述された機能性の巨大な空間とその継続的に変化する実装を包含する。
- 1. v8のnode.jsとchromeの相違点
- 2. importとconstとの相違点とcommonjsでの相違点
- 3. =と:=の相違点
- 4. PHPUnitとPHPSpecの相違点と相違点
- 5. MSBuildとTFSBuildの相違点
- 6. string.hとstrings.hの相違点
- 7. NSArrayとNSMutableArrayの相違点
- 8. System.Web.CacheとHTTPContext.Curent.Cacheの相違点
- 9. saveとsave_model()の相違点
- 10. ディスパッチキューとNSOperationQueueの相違点
- 11. HTML5とjQueryの相違点
- 12. QtGui.QApplicationとQtCore.QCoreApplicationの相違点
- 13. CDO.MessageとSystem.Net.Mailの相違点
- 14. TransactionとTransactionScopeの相違点
- 15. addonGlobalLayoutListenerとaddOnPreDrawListenerの相違点
- 16. getGenericParameterTypesとgetParameterTypesの相違点
- 17. vmlinuxとvmlinux.oの相違点
- 18. KeyEventArgs.systemKeyとKeyEventArgs.Keyの相違点
- 19. Thread.sleep()とTimeUnit.SECONDS.sleep()の相違点
- 20. レポートとサブレポートの相違点
- 21. MPI_ScatterとMPI_Bcastの相違点
- 22. カーネルモードとドライバの相違点
- 23. アルゴリズムとメソッドの相違点
- 24. mysql_num_rowsとmysql_affected_rowsの相違点
- 25. modelAttributeとcommandNameの相違点
- 26. システムとshell_execの相違点
- 27. 'コミット'と 'リビジョン'の相違点
- 28. 'コンポーネントアーキテクチャ'と 'モジュラアーキテクチャ'の相違点
- 29. scipy.spatial.KDTreeとscipy.spatial.cKDTreeの相違点
- 30. readFileとreadFileSyncの相違点
私の答えを改善することによって、私はそれを信用する能力を失ったことを知りました。コミュニティのwikiは地獄のように馬鹿です。 –
明らかに私は間違っていて、ダムです。http://meta.stackexchange.com/questions/113799/i-edit-my-answers-a-lot-how-can-i-prevent-myself-from-forfeiting-credit-原因は –
です。問題は私がより高いレベルで質問に答える傾向があるということです。 v8エンジンに関するこの比較的平凡な質問のように、バルーンではなく、実装に関する深い議論があります。これはどこかにあるはずです。しかし、私はどこがわからないのですか? –