’===’ と ’==’

  • ‘===’ は型も含めて同一でなければ true にならない。
  • ‘==’ は型が違っても構わない。たとえば,数値の 10 と文字列の “10” が true になる。
var n = 10;
var s = "10";

with(document) {
    write("n = ", n, " ; type: ", typeof n, "<br>");
    write("s = ", s, " ; type: ", typeof s, "<br>");
    write("n === s : ", n === s, "<br>");      // false
    write("n == s : ", n == s, "<br>");        // true
}

演算子

当たり前のものは省略。

  • インクリメント(++)/デクリメント(–)。前置と後置。
  • 論理演算子: !/&&/||。not/and/or はない。
  • ビット演算子: &(論理積)/|(論理和)/^(排他的論理和)
  • シフト演算子: <<(左シフト)/>>(右算術シフト)/>>>(右論理シフト)。右算術シフトは,符号ビットは保存されるようにシフトされる。
var x = 10;
x >> 1;       // -5
x >>> 1;      // 2147483643
  • typeof演算子:値の型を調べる。

予約語

break else new var
case finally return void
chatch for switch while
continue function this with
default if throw
delete in try
do instanceof tpeof

将来のために予約されている語もある:

abstract enum int short
boolean export interface static
bye extends long super
char final native synchronized
class float package throws
const goto private transient
debugger implements protected volatile
double import public

変数

  • 宣言しなくても使えるけど,明示的に宣言するには:
var v1;
var v2, v3, v4;
var v5 = 10;      // 同時に初期化
  • 数値型,文字列型,ブーリアン型,オブジェクト型 etc.
  • リファレンス型とプリミティブ型
  • 変数名は,アルファベットか _ で始まり,2文字目以降には数字も使える。
  • 予約語は使えない。

オブジェクト

  • JavaScript のオブジェクトは Ruby でいうクラス
  • インスタンスの生成
today = new Data();      // new コンストラクタ;
  • メソッド呼び出し
today.getDay();      // インスタンス名.メソッド名();
  • インスタンスメソッドとクラスメソッドがある。
  • インスタンス名.プロパティ名 でプロパティ参照
  • インスタンス名.プロパティ名 = 値; でプロパティを設定
  • 同じインスタンスに続けてアクセスするには with 文
with(document) {
    write("<h1>Hello!</h1>");
    write("This is JavaScript.");
}

故あって JavaScript に手を出す

基本事項。

  • 大文字と小文字を区別
  • ステートメントの終わりにはセミコロン;
  • // 行末までコメント
  • /* 複数行のコメント */
  • スクリプトは script タグで囲む。
  • JavaScript を認識できないブラウザのために,<!– と //–> で囲む(HTMLのコメント扱い)。
<script language="javascript" type="text/javascript">
<!--
    document.write("<hr>");
     document.write("<h1>This is JavaScirpt.<h1>");
     document.write("<hr>");
//-->
</script>
  • 関数の定義などは head エレメント内,出力などはその場所に書くのが一般的。
  • 外部ファイルにしたスクリプトは script エレメントの src 属性で指定する。
<script type="text/javascript" src="ext.js"></script>