ブール型の評価と同じように扱われる場合があるので書いておきます。変数の値がオブジェクトである場合、オブジェクト型変数となります。詳しく説明できるか心配なので、例を出しますのでなんとなく理解して下さい。配列(array)オブジェクトになります。$listは配列なので複数の値を配列のメンバー(要素)として格納できます。date():これは日付を取得して、日付(date)オブジェクトになります。dateオブジェクトと言う特別な値で格納されています。window.oepn()これはウィンドウを作ります。windowその物と見立てて操作を行います。その変数はオブジェクト型変数となります。これは、javascript内でのみ利用できるようにした特殊なオブジェクトです。書く事で表示はされませんが、javascriptにはこの画像自体が読み込まれている事になります。オブジェクト型変数と言う事になります。$img自体が画像タグと同じ『物』を意味してる状態になっています。画像のパスを文字列として格納しているだけで画像を読み込んでいるわけではありあません。うまく説明できなくてごめんなさい。次の2つも型であると説明されていたので、型として書いておきます。型であるないにかかわらず、javascriptで使われる変数の特殊な値です。(未定義)と言う特殊な値を持ちます。この状態の変数をundefined型変数と言います。基本的に出力(表示)などする時は空白として出力される事が多いです。null型変数となります。nullを使って、変数を奇麗に掃除した時にこの状態になります。