使い方や動作に違いがあることがある。
本ページでは主にサーバサイドJS(の代表格として node.js処理系)を前提とした解説をする
require
して使う(実例を参照されたし)。インストール
cinst nodejs -y
起動
node
終了
.exit
複数行入力:
左括弧の類のものがまだ閉じられていなかったり、 カンマ、ピリオド、2項演算子など、 右側に何かが書かれることが想定されている文法要素が 行の最後に置かれていたりすると、 式(文)はまだ継続しているとみなされるので、 複数行の入力ができる。 * それに加えて、node.jsでは .edit というサブコマンドで 編集モードに入ることができる。
ヘルプ
.help
履歴と、直前の値
ライブラリのインストール
npm install ライブラリ名 [-g]
ソースファイルの実行
node ファイル名.js
(Rubyを軸にして大きく違う点を中心に解説する)
コメント:
// これはコメント
/*
これは複数行にまたがるコメント
*/
名前のついた関数を定義する方法は
function abc() { // この例では引数なしの関数
/* ここに何か動作を(必要ならば)書く */
return 100 // 値を返す関数ならば return 文が必要
}
こうして名前をつけておけば、関数を引数として受け取る関数 (JavaScriptではよくある局面)に関数名を引数で与えることができる。
setTimeout(abc,1000)
事前に名前をつけて定義しておくのでなく、 引数として無名関数を(その場で無名関数を定義して) 渡すという方法もある(以下の2つの書き方がある)。
setTimeout(function(){
// 1秒後に行うべき処理をここに書く
},1000) // functionキーワードによる無名関数
setTImeout(()=>{
// 1秒後に行うべき処理をここに書く
},1000) // ダブルアローを使った記法
JavaScriptで NULL値として扱われる値として、
undefined // 値を返さない関数の値 など
NaN // Not A Number 数値計算の失敗時に発生
null
の3つがある。 * 前2者は、システムが返してくるものと考えて、 プログラマが自ら生成する必要はない。 * 詳しくはQiitaの記事「null と undefined の違い」なども参照されたい。
その際、false として扱われるものを確認しておこう。
// 数値
! 0 // (整数)=> true
! -0 // =>true(正の0と負の0は区別される)
! 0.0 // (実数)=> true
! "" // (空文字列)=> true
! false // (これは当然)=> true
// 前述の NaN, undefined, null も同様