js基础学习1-数据基础类型

数据的基本类型

Number、String、Boolean、Null、undefined、object、symbol

1. Number

这种类型用来表示整数和浮点数值,还有一种特殊的数值,即NaN(非数值 Not a Number), 以及无限大 Infinity(表示数值大到js无法显示,即无限大)

// 定义一个number
const a = 1

// 打印类型 使用typeof 可以判断
console.log(typeof a) // number

Object.prototype.toString.call(123)
//"[object Number]"

//可以使用isNaN(a) 来判断a是否为NaN
console.log(isNaN(a)) // false

2. String

这种类型用来表示文本的数据类型,是由Unicode字符,数字和标点符号组成的字符串序列,通常使用单引号和双引号组成

// 定义一个字符串
const a = " 你好! "

// 打印类型 使用typeof 可以判断
console.log(typeof a) // String

Object.prototype.toString.call('str')
//"[object String]"

3. boolean

布尔值只有两个值,代表真的true和代表家的false,一般是用作比较区分触发条件的

// 定义一个布尔值
let a =true
// 打印类型 使用typeof 可以判断
console.log(typeof a) // boolean

Object.prototype.toString.call(true)
//"[object Boolean]"

4. Null

null 是一个特俗的数据类型,表示空的意思,并非其他数据类型

// 定义一个NUll
let a = null
// 打印类型 使用typeof 不可以判断,js默认将null作为一个空对象
console.log(typeof a) // object

// 判断一个值是否为null(排除0,false,undefined)
if(!a && typeof a!="undefined" && a!=0){
    console.log("is null");
}

5. undefined

undefined 是一个特俗的数据类型,定义一个变量而未赋值,使用一个未定义变量, 或者访问一个不存在的对象属性时返回

// 定义一个变量不赋值
let a
// 打印类型 使用typeof 可以判断
console.log(typeof a) // undefined

//不定义变量直接访问
// 打印类型 使用typeof 可以判断
console.log(typeof c) // undefined

// 定义一个对象
let a = {
	name: '张三'
	}
// 打印类型 使用typeof 可以判断
console.log(typeof a.age) // undefined

6. object

object 是一个复合型数据类型,比较复杂 判断方法很多

let e = {}
let g = null
let h = []
console.log(typeof e, typeof g,typeof h) //object object object

// econstructor 可以判断数组和对象
e.econstructor==Array  //true
e.constructor==Object //false

//	Object.prototype.toString.call() 则可以判断所有基本类型
Object.prototype.toString.call({})
//"[object Object]"

Object.prototype.toString.call([])
//"[object Array]"

7. symbol

表示定义一个独一无二的值

let s = Symbol();
typeof s;
//"symbol"

// 没有参数的情况
var s1 = Symbol();
var s2 = Symbol();

s1 == s2 // false

// 有参数的情况
var s1 = Symbol("foo");
var s2 = Symbol("foo");

s1 == s2 // false

//不管值是否相同,他都是独一无二的,判断一定为false

你可能感兴趣的:(学习,js,javascript)