WSH JScriptでJavaScriptの学習環境を整える

ラベル: ,

前の関連記事:「20150328_203141_3600_004」(年月日_時分秒_区間秒_区間番号)を「区間開始日時-区間終了日時」へ変換するJScript


JavaScriptはhtmlとかブラウザとかを気にせずに使える統合開発環境がなくて勉強しにくいなあ、と思っていましたがJScriptのWSH部分のインテリセンスを有効にするのVisual StudioとWSHでようやく理想の環境が整いました。

とりあえずhtmlとかブラウザとか使わずにJavaScriptだけの統合開発環境がほしい


Blogger:関連記事一覧を自動的に表示させるガジェットの画像のサイズを指定するの最後に書いたようにこの頃(もう1年半前!)にBloggerに載せる記事検索スクリプトを作りたい、と思いましたがJavaScriptの勉強が進まずまったく手をつけられずにいました。

ChromeやFirefoxにもデバッグツールはついているのですが、これらではコード補完の編集機能がないのでどうもやる気になりませんでした。

PythonでのPyCharmのように、一つのソフトからの操作で編集して実行ができて、さらにコード補完機能とデバッグ機能があることが理想でした。

とりあえずJavaScriptの使い方だけを勉強したいのでhtmlとかブラウザは使いたくないのです。

ということでたどり着いたのがJScriptです。

たどり着いたというかLibreOffice(17)setsdkenv_windows.batのcfgWin.jsをみてローカルPCでJavaScriptが動くことを知りました。

JScriptならWindowsの標準機能で動作させることができ、さらにWindowsのファイル操作などもできるのでバッチファイル代わりに使っていくことができます。

ローカルPCでの実行環境を得てからもデバッグできる環境がなくて長らく使わずにいましたがVisual Studio Community 2013がでたのでようやくすべての環境が整いました。

Visual Studio Community 2013をインストールしたら、バッチファイル:JScript部分をVisual Studio 2013でデバッグするJScriptのWSH部分のインテリセンスを有効にするをしておきます。

さらにGit(14)Visual Studio Community 2013のWebサイトでGitを使う2をすると履歴管理もできます。

これでVisual StudioでJavaScriptを書いてJScript起動ボタンをクリックすると実行結果がコマンドウィンドウに表示されるようになりました。

これで動くJavaScriptはブラウザで動くJavaScriptとは少し異なりWSH(Windows Script Host)で動くJavaScript(これをJScriptという)にWSH独自のメソッドを加えたものです。

JScriptとJavaScriptは文法はほぼ一緒なのでJavaScriptの学習にはJScriptの学習で十分だと思います。

JavaScriptのリファレンスとしてはまずはMDNのJavaScriptリファレンスを使う


しっかりと身に着けるには系統だって整理された資料が必要です。

Pythonの場合は概要 — Python 3.3.6 ドキュメントPython チュートリアルを拠り所にできてとても学習しやすいので、JavaScriptでも同様なものを探してみました。

JavaScript リファレンス - JavaScript | MDN
MDN(Mozilla Developer Network)によるJavaScriptリファレンス。

2015.4.15追記。今朝更新されて日本語版がなくなってしまいました。


ページによっては右上の「LANGUAGES」から日本語が選択できるかもしれません。)

JavaScript リファレンス - MSDN - Microsoft
MSDN(Microsoft Developer Network)によるJavaScriptリファレンス。

JScript
WSHのJScriptリファレンス。

JScript リファレンス
.NETのJScriptリファレンス。

JavaScriptとJScriptのリファレンスで検索してみるとこの4つがでてきました。

一番最初のMDNのリファレンス以外の残りの3つのリファレンスはどれもマイクロソフト社製です。

MDNによるJavaScriptリファレンスが一番汎用性があると思います。

MSDNによるJavaScriptリファレンスはInternet Explorer用のJavaScriptになります。(学習の価値無し?)

WSHのJScriptリファレンスは今回Visual Studioで構築した統合開発環境で使うJavaScriptそのものなので、MDNのリファレンスでわからないときはこのWSHのJScriptを参考にしようと思います。

.NETのJScriptはWSHのJScriptとは別物でVisual Studioのサポートないらしいのでこれも私には学習の価値なしです。(JScript - Wikipedia

ということで調べる順番は、MDNによるJavaScriptリファレンス>WSHのJScriptリファレンス>MSDNによるJavaScriptリファレンス、にしようと思います。

そのほかWSHに関しては次のサイトがわかりやすいです。

VBScriptとWSHを使おう - はじめに [VBScript Tips]
WSH部分に関しては具体例があってとてもわかりやすいです。

Active Scriptingのエンジンを使うWSHのJScriptはすでに非推奨らしい


WSHのJScriptはActive Scriptingで動くのですが、このActive Scriptingは.NET Frameworkの登場で非推奨となっているそうです。(Active Scripting - Wikipedia)

非推奨といっても互換性の維持のために当分は使えるそうです。

WSH JScript 5.8はMDN JavaScript 1.5に相当する


まずはバージョンの違いを知らないといけません。

WSH JScriptのバージョンは5.8から進化していません。(JScript のバージョン情報

C:\>cscript
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

Windows7 64bitでもver5.8のままです。

JScript - WikipediaによるとJScript 5.8はJavaScript 1.5に相当するそうです。

JavaScript/ブラウザサポートの履歴をみるとJavaScript1.5は相当前のバージョンになります。

なのでMDN JavaScriptのObjectのメソッドにあるように「JavaScript 1.8.5が必要」と書いてあるようなものはWSH JScriptでは使えません。

JScript - Wikipediaを読むとJScriptとJavaScriptは互換性があるけど、JScriptにはあってJavaScriptにはない特徴として、データ型、ファイル入出力、アプリケーション制御、が挙げてあります。

まずデータ型について調べてみます。

typeof 演算子typeof 演算子 (JavaScript)をみるとWSH JScriptとMSDN JavaScriptのデータ型は、"number"、"string"、"boolean"、"object"、"function"、"undefined" の 6 つで差はないようです。

MDNのJavaScriptではこれら以外に"symbol"、"xml"とホストオブジェクトという型もあるようです(typeof 演算子 - JavaScript | MDN)。

ということでJScriptとJavaScriptの違いといってもWSH JScriptとMSDN JavaScriptに違いはなく、WSH JScriptとMDN JavaScriptとの違いになります。

typeof演算子で場合分けをするときなどには注意が必要ですね。

次にファイル入出力についてです。

MDN JavaScriptではHTML5から追加されたFile APIによってファイル入出力を行います。

Web アプリケーションからファイルを扱う | MDN

WSH JScriptについてはFileSystemObject オブジェクトを使ってファイル入出力ができますが、このオブジェクトは何でしょう?

Microsoft Windows スクリプト テクノロジスクリプト ラインタイムFileSystemObject のオブジェクトになるようです。

とりあえずこれらを参考にすればJavaScriptの学習も進みそうです。

参考にしたサイト


JavaScript リファレンス - JavaScript | MDN
MDN(Mozilla Developer Network)によるJavaScriptリファレンス。わからないことはまずここで調べます。

JavaScript リファレンス - MSDN - Microsoft
MSDN(Microsoft Developer Network)によるJavaScriptリファレンス。IE独自機能があるかもしれません。

JScript
WSHのJScriptリファレンス。Windowsデフォルトで動かすことができます。

JScript - Wikipedia
JScript 5.8はJavaScript 1.5に相当するようです。

JScript リファレンス
.NETのJScriptリファレンス。WSH JScriptとは別物です。

JScript のバージョン情報
JScriptのバージョン間の言語要素の差についての一覧もあります。

VBScriptとWSHを使おう - はじめに [VBScript Tips]
WSH部分に関しては具体例があってとてもわかりやすいです。

Web アプリケーションからファイルを扱う | MDN
MDN JavaScriptではHTML5から追加されたFile APIによってファイル入出力を行います。

FileSystemObject のオブジェクト
WSH JScriptでのファイル入出力にはこのFileSystemObjectを使います。

次の関連記事:WSH JScriptでJavaScriptのお勉強(関数定義、クロージャ、this)

PR

0 件のコメント:

コメントを投稿