Javascriptとは
- オブジェクト指向型(プロトタイプベース)の軽量なスクリプト言語
Javascriptの特徴
- スタンドアローンの言語としては不便だが、ウェブブラウザなどの他製品やアプリケーション上での実装、動的なWebサイト構築等が得意。
- Javascriptの仕様は、ECMAScriptというスクリプト言語で定められている。EMACScriptはコア言語とも呼ばれる。
(ECMAScriptを各社で実装したのが、Mozilla社のJavascriptだったり、MicrosoftのJScript、AdobeのActionScriptだったりする。)
- クライアントサイドJavascriptは、コア言語に加えて、ブラウザ&DOMコントロール用オブジェクト を拡張している。
- サーバサイドJavascriptは、コア言語に加えて、サーバ上でのJavascript実行関連オブジェクトを拡張している。
- Javascript ≠ Java。別物。オーストリアとオーストラリアくらい違う。
他言語との違い
- クラス(似たオブジェクトを量産するための仕組み)が無い。
- 通常クラスという「型」を元にして、クラスの特設(属性や機能)を引き継いだオブジェクト(「実体」)を作成する
- クラスで行っていた、同等特性のオブジェクト量産は、
- 関数自身もオブジェクト
実行の仕方
- HTML/XHTMLファイル内に以下記述で埋め込んで直接実行
< script >
スクリプト文
< /script >
- 外部スクリプトファイル(「ファイル名.js」)として以下記述で呼び出して実行
< script src = “ファイル名.js”>< /script>
書き方
- 文末にセミコロン(;)をつける
- 大文字、小文字は区別される(NUMとnumは別物。)
- スクリプトファイル内の空白、改行は無視される。
出力
- Javascriptの標準ライブラリには入出力関連の関数がほぼ無い。
出力には以下を使用する。
ブラウザへの出力関数(alert)
alert(“Hello,world!”);
コンソールへの出力関数(console.log)
console.log(“Hello, world”);
コメント
コメント(単一行)は以下。
//ここから1行はコメントです。
コメント(複数行)は以下。
/* ここからは複数行でも閉じるまではコメントです。 */
エラー処理
- 以下でエラー発生する可能性のある処理と、エラー発生時の対応を記述
try{
test(“test”) //エラー発生する可能性のある処理
} catch(e){
alert(“エラーは”+e+”です。”);
宣言
変数
- 変数宣言はvarで行う。
var 変数名
変数宣言と初期化は同時実行可能
var a=1;
変数には型は無い。
命名規則
- 1文字目は、英字、アンダースコア(_)、ドル記号($)
- 2文字目以降は1+数字
- 変数名の大文字、小文字は区別される
- Javascriptの予約語は使えない。
◯ _test
◯ $num
× 1num
定数
- 定数宣言はconstで行う。
const 定数名 =183;
データ型
型はalert(typeof(値))などで確認可能。
- 数値
- 文字列
- 真偽値
- オブジェクト
- 関数、配列(Array)、日付(Date)、正規表現(RegExp)・・・
- null //意図的に値が無い
- undefined //値が未定義
数値
数値は10進数、8進数、16進数を扱う事が可能。
例として
- 65535(10進数)
- -123.56(10進数)
- 0xffff(16進数)
- 0x9ab4(16進数)
- 011(8進数)
- -3.1E12
文字列
演算子
- 代入演算子
- +=、-=、*=、/=、%=
- <<=、>>=、>>>=
- &=
- ^=
- |=
- 比較演算子
- 算術演算子
- +、―、*、/
- %(余り)
- ++ (インクリメント)
- — (デクリメント)
- -a (符号反転)
- ビット演算子
- a & b、a | b、a ^ b、~ a、a >> b、a >>> b
- 論理演算子
- a && b (aかつb)
- a || b (aまたはb)
- !a (aではない)
- 特殊演算子
- 条件演算子
- コンマ演算子
- delete
- in
- instanceof
- new
- this
- typeof
- void
}
オブジェクト
- オブジェクトは以下のように定義される
var objName = new Object();
もしくは
var objName = {} //こちらは「オブジェクトリテラル形式」と言う。
- オブジェクトには以下の種類が有り。
- 標準ライブラリオブジェクト
- オブジェクト (Object)
- 真偽値 (Boolean)
- 計算 (Math)
- 数値 (Number)
- 配列 (Array)
- 文字列 (String)
- 正規表現 (RegExp)
- 日付 (Date)
- 関数 (Function)
- エラー (Error)
制御文
if文
var num = 2;
if (num >= 6) {
alert(“6以上です。”)
} else if ((num<6)&&(num>=3)) {
alert(“3以上6未満です。”)
} else {
alert(“3未満です。”)
}
while文
while (true) {
// 無限ループ!
}
for文
for (var i = 0; i < 5; i++) {
// 5 回実行されます
alert(i+”回目の実行です。”);
}
関数
function add(x, y) {
var total = x + y;
return total;
}
参考