コマンドライン上で操作
node.jsではブラウザなどを使用せずにコマンドライン上で操作ができる
# コマンドライン上での操作開始を宣言$ node
# この状態で処理を書くと実行される> console.log('hello world')# 出力結果: hello world# 終了する> .exit
jsファイルから実行
jsファイルsample.js
を作成し、処理を実行させる
# コマンドライン上でjsファイルの処理開始を宣言$ node sample.js
non-blockngとblockingな書き方
- nodeはメインのスレッドが1つであるため、処理がブロックされるような書き方はnodeの処理の速さの特徴を殺してしまうためやめるべきである
- setTimeoutなどのタイマー処理やデータベースへのアクセス、ファイルの書き込みといった命令は処理に時間を要するため、次の命令をブロックしないように書く必要がある
そこで、non-blockingな書き方を採用し、時間がかかりそうな関数はcallback関数で実装することが望ましい
non-blockingな書き方
次の処理をブロックしない書き方のこと
setTimeout(function(){console.log('hello');},1000);conosole.log('world')
setTimeout内の関数をcallback関数という
setTimeoutの内の処理を待たずに次の処理が実行される
blockingな書き方
varstart=newData().getTime();while(newData().getTime()<start+1000);console.log('world');