プロが教える店舗&オフィスのセキュリティ対策術

JavaScriptを勉強中です。実行環境はnode.jsを使用しています。標準出力の代わりにはconsole.log();を使用しているのですが、標準入力の代わりになるようなものは何かないのでしょうか?できれば一行で簡潔に書ける関数がいいです。getsとか。readlineとか。そういうの何かないのでしょうか?

僕が使える言語は、Ruby、Java、C、Python、Common Lispです。
これらの言語を身につけた時と同じように、JavaScriptもまずCUIで色々オモチャを作って、言語仕様を理解したいのです。

JavaScriptは、上記のようなサーバサイド向けの言語とは違い、クライアントサイドのDOM操作が中心で、素直にブラウザで実行して勉強すればいいのはわかっているのですが、prototypeの継承とかprivate変数の使い方とか名前空間についてキチンと理解するにはCUIで遊ばないとダメな気がして、それで標準入出力の代わりになるものが欲しいと思ったのですが、ないのでしょうか?

それとも、そもそもまずは言語仕様をCUIで勉強するっていう発想自体がやっぱり間違っているんですかね?簡易CGIサーバでも用意してdocument.writeでブラウザに表示した方がいいのかな。でもブラウザで勉強するにしても、文字列の入力ができないと捗らない気がします。まさか文字列の入力にはフォームでも使えってことなんですかね?

回答よろしくお願いします。

A 回答 (1件)

>>Node.jsの標準入力



まあreadlineはありますが
http://nodejs.jp/nodejs.org_ja/api/readline.html
ちょっとコードを試すだけならREPLで十分でしょう
コマンドプロンプトで単に「node」かインストールした「node.exe」を単に起動すればREPLモードになります

少々代規模なコードでも一旦テキストエディタ等でまとめて
一気にコピペして実行させればいいです

まあnode-dev(ファイル編集毎に自動で再実行してくれるツール)を使うのなら
「node-dev test.js」みたいにして捗れるかもしれません


>>そもそもまずは言語仕様をCUIで勉強するっていう発想自体がやっぱり間違っているんですかね?

上で一応いろいろ書きましたが、やっぱり同じコンソールならDOSのREPLより、ブラウザのデベロッパーツールを利用した方が基本にいいです
何より表示がわかりやすいです
オブジェクトだけを出力すれば簡単にプロパティやprototypeの調査ができます

ブラウザで説明サイトをみながらそのまま楽に試せるのもいいです
ChromeならF12キー等でコンソールが開けます


>>簡易CGIサーバでも用意してdocument.writeでブラウザに表示した方がいいのかな
書いたhtmlファイルをブラウザにドラッグアンドドロップすれば普通に開けます
JavaScriptの学習で基本的にCGIが必要になることはありません

また、ブラウザでもconsole.*は使えます
長い具体的なコードで試したい場合だとブラウザのコンソールで直接実行するのではなくて
基本のものをHTMLファイルに書いて
あとはコンソールで実行したりlogを確認した方がわかりやすい場合もあります


まとめると、基本的にブラウザのコンソールを開いてそこで試してください
わかりにくい場合はHTMLファイルに書いたりNodeでjsファイルを実行してもいいでしょう
そこら辺は好みに合わせて調整してください

まあ複雑なDOM操作になってくるとHTMLファイルをそのまま実行してみるくらいの選択肢しか無いでしょうけどね
まあそれでもコンソールはデバッグに役立ちます
慣れておいて損はないです
    • good
    • 0
この回答へのお礼

詳しく説明ありがとうございました。
開発環境まわりの話ってググっても体系的な話がなかなか見つからなくって
困っていたので大変たすかりました。

>ちょっとコードを試すだけならREPLで十分でしょう
対話型実行環境もあったんですね。ちょっとした時に便利そうですね。

>やっぱり同じコンソールならDOSのREPLより、ブラウザのデベロッパーツールを利用した方が基本にいいです
>何より表示がわかりやすいです
>オブジェクトだけを出力すれば簡単にプロパティやprototypeの調査ができます

オブジェクトの中身が見れるのいいですね。
Chromeのデベロッパツールを使うことにします。

>まとめると、基本的にブラウザのコンソールを開いてそこで試してください
>わかりにくい場合はHTMLファイルに書いたりNodeでjsファイルを実行してもいいでしょう
>そこら辺は好みに合わせて調整してください

アドバイス頂いたとおりにやってみようと思います。
ありがとうございました。

お礼日時:2013/05/19 18:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!