变量和常量
number#
八进制:let a=0o10 以0o开头的就是8进制
十六进制:0-9 a-f let a =0xffff 以0x开头的就是16进制
number数值范围#
console.log(Number.MAX_VALUE)console.log(Number.MIN_VALUE)输出可以看到最大,最小值
特殊值#
console.log(Infinity)//无穷大 console.log(-Infinity)//无穷小 console.log(NaN)//not a number 代表非数值,当数值与其它变量运算时就会nan超过最大和最小值就会无穷大
isNaN#
console.log(isNaN(12)) console.log(isNaN('haha'))结果:
false 不它是数字
true 对,它不是数字
转换成number类型#
string#
length长度#
let a='sds'console.log(a.length)//结果3拼接#
let a ='xwx' let b ='dwdad' console.log(a+'-'+b) //结果xwx-dwdad所以只要用+随便拼接多少个
与其它任何类型的拼接都会变成string,
Boolean#
true false
与number运算#
let a=truelet b=falselet c=18console.log(a+b) //1console.log(a+c) //19console.log(b+c) //18结论:与number运算,true=1,false=0
其它类型转换成Boolean#
console.log(Boolean(undefined)) //falseconsole.log(Boolean(NaN)) //falseconsole.log(Boolean(null)) //falseconsole.log(Boolean(12)) //trueconsole.log(Boolean('xixi'))//trueconsole.log(Boolean(''))//falseconsole.log(Boolean(0))/常量#
const a='haha'a='xixi'//直接报错,常理是无法改变的数组和object#
const a=['a','b']const b={name:'a',age:32}a.push('c')b.sex='man'console.log(a);//[ 'a', 'b', 'c' ]console.log(b);//{ name: 'a', age: 32, sex: 'man' }不会报错,因为没有改变数组和object的栈地址