7种数据类型(新增一种BigInt 新不常用)
number boolean string symbol undefined null object 7种数据类型
'' 0 null undefined NaN 五个falsy值
数字 number
特殊值:
正0 和负0
无穷大
infinity、+infinity、 - infinity
无法表示的数字 NAN(Not a Number)
Number.MAX_VALUE 最大有效数字
Number.MIN_VALUE 最小有效数字

字符串 string
单引号 ' '
双引号 " "
反引号 ` `
想要打'这个的话 需要加转义 \' (前面加个斜杠能打出')
beas 64转码 (不要用它来加秘 不靠谱懂的人都能编译出来)
window.btoa 正常字符串转为Base64编码的字符串
window.atob Base64编码的字符串转为原来的字符串

布尔 boolean
true /false 只有这两个值
符号 symbol
空 undefined 空 null
两者的区别
本质没有区别
* 1 如果一个变量声明了没有赋值 那么默认就是undefined 而不是null
* 2 如果一个函数,没有写return ,那么默认 return undefined 而不是null
前商程序员习惯上 把非对象的空值写为undefined 把对象的空值写为null
对象 object(请查看下另一篇博客)
以下不是数据类型
数组、函数、日期(它们都属于object)
四基两空一对象
var let const 的区别
var 是全局作用域 var 变量会提升
let
* 是块级作用域 {let a=0;console.log(a)} 它的作用域只在{}里面 外面找不到
* 不能重复声明
* 可以赋值,也可以不赋值 a=2 或者 a='字符串'
* 必须先声明再使用 否则报错
* 全局声明的let变量 不会变成window的属性
* for循环配合 能得到1-5的打印结果
const 跟let几乎一样 声明时就要赋值,赋值后不能修改 修改会报错
类型转换
number => string

string => number

X => boolean

X => string

网友评论