<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>js-原始类型优于封装类型</title>
</head>
<body>
<script>
</script>
<p>
★★★关于原始类型优于封装类型必须知道的是★★★:
1. 何为原始类型
就是我们常说的基本类型,boolean, number, string, null, undefined.
同时 JS标准库 还提供了构造函数来封装布尔,数字和字符串儿作为对象。
2. 原因
(1). 做相等比较时,封装对象与原始类型的行为不一致
这一点在3当心隐式的强制转换里也提到过
var s1 = new String("123");
var s2 = new String("123");
var s3 = "123";
typeof s3; // string
typeof s1; // object
s1 == s2; // false;每个对象都是一个单独的对象,其总是只等于自身;
s1 == s1; // true
s1 === s1; // true
(2). 获取或设置原始类型的属性会隐式的创建封装对象
</p>
</body>
</html>