- number
- string
- boolean
- symbol
- null
- undefined
- object
number
- 由64位浮数点组成,可以有整数,小数,科学计数法,
- 正0和负0要分清楚,+infinity和-infinity
- 无法表示的数字用NaN表示,NaN也是一个数字
- 0用来表示正,-1用来表示负
string
写法:单引号括起来(’ ‘),双引号括起来(" "),反引号括起来(`)<br />\是个转移符号,字符串也可用"\uFFFF"四个十六进制数来表示<br />
`里面可以加回车
string里有个length属性
问:’\n\t\r’的length是多少?答: 3,\n,\t,\r分别为一个整体,所以length为3
问:\\\的length是多少?答: 3, \是一个整体,表示一个反斜杠
问:’’的length是多少?答:0,这是个空字符串
问:’ ‘的length是多少?答:1,里面是一个空格
string里还有下标,从0开始,到length-1,即 0~length-1
bool
只有两个值,true和false
否定运算、比较运算、相同运算都会得到布尔值
五个falsy值;相当于false但又不是false的值
- undefined
- null
- NaN
- 0
- ‘’(空字符串)
undefined和null
本质上没有区别
细节一:变量声明了却没有赋值,默认值为undefined
细节二:一个函数没有写return,默认为return undefined
细节三:习惯上,非对象空值:undefined;对象空值:null
symbol
不怎么常用,还未做过了解
变量的声明
ES6有两种新语法
let a =1
const b =2//一般用作常量声明
let 和 for 搭配有奇效
const 声明了一定要赋值,而且值不能改变
类型转换
number => string
- 例如 let n=1
- String(n)将非string转换为string
- n+’’
- (n).toString()
- n..toString()
string => number
- let a = ‘2233’
- Number(a)
- a - 0
- parseInt(a)
x => bool
- Boolean(0) = false , !!0 = false
- Boolean(1) = true , !!1 = true
bool => string
- true.toString()
- false.toString()