JavaScriptを勉強中です。実行環境はnode.jsを使用しています。標準出力の代わりにはconsole.log();を使用しているのですが、標準入力の代わりになるようなものは何かないのでしょうか?できれば一行で簡潔に書ける関数がいいです。getsとか。readlineとか。そういうの何かないのでしょうか?
僕が使える言語は、Ruby、Java、C、Python、Common Lispです。
これらの言語を身につけた時と同じように、JavaScriptもまずCUIで色々オモチャを作って、言語仕様を理解したいのです。
JavaScriptは、上記のようなサーバサイド向けの言語とは違い、クライアントサイドのDOM操作が中心で、素直にブラウザで実行して勉強すればいいのはわかっているのですが、prototypeの継承とかprivate変数の使い方とか名前空間についてキチンと理解するにはCUIで遊ばないとダメな気がして、それで標準入出力の代わりになるものが欲しいと思ったのですが、ないのでしょうか?
それとも、そもそもまずは言語仕様をCUIで勉強するっていう発想自体がやっぱり間違っているんですかね?簡易CGIサーバでも用意してdocument.writeでブラウザに表示した方がいいのかな。でもブラウザで勉強するにしても、文字列の入力ができないと捗らない気がします。まさか文字列の入力にはフォームでも使えってことなんですかね?
回答よろしくお願いします。
No.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ファイルをそのまま実行してみるくらいの選択肢しか無いでしょうけどね
まあそれでもコンソールはデバッグに役立ちます
慣れておいて損はないです
詳しく説明ありがとうございました。
開発環境まわりの話ってググっても体系的な話がなかなか見つからなくって
困っていたので大変たすかりました。
>ちょっとコードを試すだけならREPLで十分でしょう
対話型実行環境もあったんですね。ちょっとした時に便利そうですね。
>やっぱり同じコンソールならDOSのREPLより、ブラウザのデベロッパーツールを利用した方が基本にいいです
>何より表示がわかりやすいです
>オブジェクトだけを出力すれば簡単にプロパティやprototypeの調査ができます
オブジェクトの中身が見れるのいいですね。
Chromeのデベロッパツールを使うことにします。
>まとめると、基本的にブラウザのコンソールを開いてそこで試してください
>わかりにくい場合はHTMLファイルに書いたりNodeでjsファイルを実行してもいいでしょう
>そこら辺は好みに合わせて調整してください
アドバイス頂いたとおりにやってみようと思います。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Perl perlで2次元配列をサブルーチンに値渡しで渡す 5 2022/12/17 18:49
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- その他(プログラミング・Web制作) 次に、楽天のアジャイル就活に参加して、1日で内定を獲得できる。私は大企業に就職できる? 2 2022/04/17 13:38
- C言語・C++・C# プログラミングの問題です。至急教えてください。 /***から***/の部分をプログラミングにしてほし 1 2022/10/13 11:48
- 留学・ワーキングホリデー リスニング力、はつきますか?6カ月語学学校行き数年間お金を稼いでまた、6カ月間語学留学に行くのは? 1 2023/02/11 15:49
- その他(プログラミング・Web制作) Pythonを用いたフラッシュ暗算ソフトの開発に必要なもの 2 2023/01/29 02:22
- 中学校 間違った国語の実力テストの勉強? 1 2022/08/28 15:59
- 英語 会社で英語を使うことになっての英語の勉強方法 5 2022/07/03 11:49
- その他(プログラミング・Web制作) Spyder上のPythonでinputが実行されません。 2 2022/08/15 11:57
- 中学校 2学期実力テストの国語の勉強法 1 2022/08/01 00:17
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
jsでルートディレクトリより上...
-
ブラウザからエクセルを開く方法
-
JavaScriptを使ってファイルの...
-
html組込み時のカレントフォル...
-
VB.NET2003 テキストボックスに...
-
JSPの処理の途中で、JavaScript...
-
ASP(VBS) ←→ JavaScript の変数...
-
【JavaScript】ソースのコメン...
-
ハイフンだけ置換したい。
-
フォルダを自動で開く
-
Visual Basic 6.0 のテキストボ...
-
ASPによるEXCELファイルの操作
-
JavaScriptのVersionは、ブラウ...
-
C#でTextBoxに数値のみ入力可能...
-
innerHTMLなどの反映タイミング
-
PowerPointで時計表示
-
VBA ステータスバー DoEvents
-
C#コンストラクタが2回動く
-
gas 全角数字を半角数字に変換
-
「終了していない文字列型の定...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ブラウザからエクセルを開く方法
-
JavaScriptでテキス...
-
jsでルートディレクトリより上...
-
ローカルのtest.txtを1行ずつ...
-
Ajaxが動きません~『status=0』?
-
JavaScriptによる....
-
javascriptでのmdb接続について
-
ASP上からサーバサイドのVBScr...
-
ActiveXObjectについて
-
ブラウザ上でjavascriptを編集...
-
javascriptでテキストファイル...
-
JavaScriptでファイルの保存
-
Illustrator でjavascriptによ...
-
ブックマークレットが動かない。
-
html組込み時のカレントフォル...
-
WEBブラウザから任意フォルダを...
-
星型評価スターレーティングの...
-
php -> javascript 変数渡し
-
XMLHttpRequestオブジェクトに...
-
node.jsでmysqlをローカル環境...
おすすめ情報