現在、JavaScriptについて勉強しております。
JavaScriptは、Netscapeが開発したが、Microsoftにライセンスを供与しなかったため、Microsoftは、独自にJScriptを開発しました。
しかし、ブラウザごとに実装が異なったため、互換性を高めるためにECMAScriptという仕様を定め、各ブラウザはECMAScriptに準拠することで互換性があるという認識です。
ただ、現在のIEにおけるJScriptとJavaScriptの関係がよくわかりません。
Wikipediaを見ると、JScriptはスクリプト言語です。
JScript(ジェイ・スクリプト)は、マイクロソフト社製のスクリプト言語であり、Microsoft Windows 上で動作する。
上記ページ内のバージョンの項目に記載されている通り、IE9からは JScript ではなく Chakra を使用しているとの記載があります。
Chakraを見ると、JavaScriptエンジンという記載があります。
ChakraはマイクロソフトのウェブブラウザとWindowsランタイム上のアプリケーションで使用されるJavaScriptエンジンのコードネーム[1]である。
ECMAScriptを見ると、下記のようにIE9からは「JavaScript (Chakra)」と記載されております。
Internet Explorer
JScript (Internet Explorer 8 まで)
JavaScript (Chakra)
■質問1
IE9からは、呼び方を「JScript」から「JavaScript」に変更しただけで、「JavaScript」をサポートしてるわけではなく、「JScript」をサポートしてるということでしょうか?
現在のIEにおけるJScriptとJavaScriptの関係について教えてください。
■質問2
IEだと、下記の3つは問題なく動くけど、他のブラウザだと最初の記述は動作しないという認識であってますでしょうか?
(今どき、language属性は使わないと思いますが・・・、type属性で指定しようと思ったけどtext/jscript
というMIMEタイプが見当たらない)
<script language="JScript"> </script>
<script language="JavaScript"> </script>
<script type="text/javascript"> </script>
※補足
ちなみに、私の環境(Windows7)で下記のファイルをIE11とChromeの両方で開きましたが、両方ともHello
と表示されました。
Chromeで表示されないと予想していましたが、表示されたので謎が深まるばかりです。
Chromeが優秀だから表示されたんですかね・・・
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>test</title> </head> <body> <script language="JScript"> <!-- document.write("Hello"); // --> </script> </body> </html>

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/08/30 04:57