1.分類(2つのカテゴリー)
*基本(値)タイプ
*数値:任意の数値
*文字列:任意のテキスト
*ブール値:true / false
*未定義:未定義
* null:null
*オブジェクト(参照)タイプ
*オブジェクト:任意のオブジェクト
*配列:特殊オブジェクトタイプ(以下(標準/内部データ順)
*機能:特殊オブジェクトタイプ(実行可能)
2.判断
* typeof:
*区別できる:数値、文字列、ブール値、未定義、関数*
区別できない:nullとオブジェクト、一般的なオブジェクトと配列
* instanceof
*オブジェクトデータのタイプを決定するために特別に使用される:オブジェクト、配列、関数
* == =
*判断可能:未定義およびnull
// typeof: 返回的是数据类型的字符串表达形式
//1. 基本类型
var a
console.log(a, typeof a, a===undefined,66666666666) // undefined 'undefined' true
console.log(a==typeof a) // false
//typeof 返回的字符串,a==typeof a 为false
a = 3
console.log(typeof a === 'number')
a = 'atguigu'
console.log(typeof a === 'string')
a = true
console.log(typeof a === 'boolean')
a = null
console.log(a===null) // true
console.log(typeof a) // 'object'
console.log('--------------------------------')
//2. 对象类型
var b1 = {
b2: [2, 'abc', console.log],
b3: function () {
console.log('b3()')
}
}
console.log(b1 instanceof Object, typeof b1) // true 'object'
console.log(b1.b2 instanceof Array, typeof b1.b2) // true 'object'
console.log(b1.b3 instanceof Function, typeof b1.b3) // true 'function'
console.log(typeof b1.b2[2]) // 'function'
console.log(b1.b2[2]('abc')) // 'abc' undefined
var arr = [];
console.log(arr instanceof Object);//true
3.小さなヒント
1. undefinedとnullの違い?
* undefinedは割り当てがないことを意味し
ます* nullは割り当てを意味しますが、値はnullです
2.変数をnullに割り当てるのはいつですか?
* var a = null // aはオブジェクトを指しますが、オブジェクトはこれですまだ決定されていません
* a = null //が指すオブジェクトをガベージオブジェクトにします
3.変数の型とデータ型を厳密に区別しますか?
* jsの変数には型がなく、型は変数のは、実際には変数メモリ内のデータのタイプです
*変数タイプ:
*基本タイプ:基本タイプのデータ
を保存する変数*参照タイプ:オブジェクトのアドレス値を保存する変数
*データオブジェクト
*基本タイプ
*オブジェクトタイプ