ES有6种基本的数据类型:Undefined Null Boolean Number String Symbol。Symbol是ES6新增
typeof操作符
1.undefined :表示未定义
2.boolean:表示为布尔值
3.string:表示为字符串
4.number:表示为数值
5.object:表示为对象
6.function:函数
7.symbol:表示为符号
undefined类型
- undefined类型只是一个值,就是特殊值undefined,当使用var let声明变量未初始化的时候,变量默认为undefined
2.用typeof 查看一个未声明的变量的时候,返回的类型是undefined
let msg
console.log(msg) //undefined
console.log(typeof age) //age没有初始化 ,打印为undefined
Null类型
Null类型只是一个值,即特殊值null,逻辑上 null是一个空指针,用 typof null 会返回一个object
注意:null == undefined
console.log(null == undefined) //true
Boolean类型
Boolean类型即 true / false
注意各个类型转boolean的情况
String : 非空字符串得到true,""得到false
Number: 非零数值得到true,0 Nan得到false
Object: 任意对象得到true,null得到false
Undefined: N/A转成true, undefined转成false
Number类型
1.Number类型可以表示各种进制,(2进制,8进制,16进制),8进制用0开头,16进制用ox开头。Number值的最小值表示为Number.MIN_VALUE,最大值为Number.MAX_VALUE.NAN表示不是数值。
方法:
1.isNaN:判断是不是数值
2.Number(),parseInt(),parseFloat() 这3个方法可以把非数值的数转换成数值,
Number()转换规则:
1.true转成1 false转成false
2.数值直接返回
3.null转换成0
4.undefined转换成NaN
5.字符串换成最前面的数字,如果是空字符串转成0,转换支持16进制和8进制,非空字符串转换成NaN
parseInt(A,B) 专注把字符串转换成数值,字符串前面有空格会被忽略,复杂字符串则直接取前面的数值。A表示要转换的字符串,B表示进制
let number = parseInt('123455kkk') // 123455
let number = parseInt('') // NaN
let number = parseInt('0xA') // 10 16进制
let number = parseInt('22.5') // 22
let number = parseInt('70') // 70
let number = parseInt('oxf') // 15
let number = parseInt('0xAF',16) // 175
let number = parseInt('AF',16) // 175
let number = parseInt('10',2) // 2
String类型
string类型的字符串一旦创建他们的值就不能改变,这特从侧面说明字符的操作都是创建一个新字符串。
toString:几乎所以的数据类型都有这个方法,除了 null undefined。该方法一般不传参数,但是也可以传递参数,表示进制
String()方法,是把类型转成相应的字符串如下所示
let value1 =10
let value2=true
let value3=null
let value4
console.log(String(value1)) // "10"
console.log(String(value2)) // "true"
console.log(String(value3)) // "null"
console.log(String(value4)) // "undefined"
字符串支持模板字面量即
let value =10
let value1 = `value:${value}`
console.log(value1) //value:10
Object类型
Object类型对象其实就是一组数据和功能的集合。对象通过new操作符号加上对象类型来创建都是object
每个Object实例都有如下属性
constructor:应用于创建当前对象的函数
hasOwnProperty(propertyName) :判断当前实例是否存在给定的属性(实例对象是否有该属性)
isPrototypeof(object) 判断当前对象实例是否为另外一个对象的原型
propertyIsEnumerable(prop) 判断该属性是否可用
toLocaleString() 返回对象的字符串
valueof() 返回对象的字符串,数值,布尔值
本章:94
网友评论