2021-04-12

JavaScript类型

  • 基本类型

    • Undefined (坑:语法中没有把它变成关键字,所以声明变量名可以是Undefined

      因此有个用法就是利用void 0 来替代Undefined)

    • Null (定义了但是数值为空)

    • Boolean

    • String (最大的长度是2^53 - 1 换算成十进制就是 9007 1992 5474 0991,

      在UTF16编码( 一个字符4字节,也就是2097152TB的字符串 ),UTF-8一个字符占位3个字节,GBK2312是2字节,自行换算)

    • Number (一共有18437736874454810627个值,科学计数法是264-253+3,这里有三个特殊值,NaN直接Undefined+1(任意数值,说白就是算术不规范超纲了报错) 、Infinity无穷大、-Infinity负无穷大)

    • Symbol (ES6语法体系新增语法,为了解决对象同名属性而创建,所以,两个相同名字相同描述的symbol的在if中是不相等的,它不可以使用new来调用

    • Object(数组也是Object)

  • 关于类型转

    • JavaScript中有个“==”运算,直接模糊了类型的界限,我们可以写出(123==“123”)

    • 严格模式下,我们要使用“===”

    • 数字方面还有负号,例如let a = "123", 你可以a * -1 这样这个直接就成为-123

  • 装箱转换

    • 每个基本类型在对象中都有对应的基本类,装箱转换就是把基本类封装转换为对应的对象。

      例如:let a = 100; 创建后js自动添加了一系列处理,让我们创建后可以访问a.toString(),

      这些操作在我们

  • 拆箱转换

    • 每个对象类型都可以拆解为基本类,其实都是一个加工的过程,装箱就是原材料附加包装,拆箱就是把对象转换为基本的数据类型。那么拆箱的原材料从哪里获取?一般是直接toString或者valudeOf。然后把这些值直接转为基本的数据。

你可能感兴趣的:(2021-04-12)