在 JavaScript 中的字符串、数值、布尔具有对象的使用特征,如具有属性和方法,如下代码举例:
<script>// 字符串类型let str = 'hello world!';// 统计字符的长度(字符数量)console.log(str.length);// 数值类型let price = 12.345;// 保留两位小数price.toFixed(2);</script>
之所以具有对象特征的原因是字符串、数值、布尔类型数据是 JavaScript 底层使用 Object 构造函数“包装”来的,被称为包装类型。
课堂代码:
// 数组、对象,不用包装,人家本来就是对象// let arr = []// let obj = {}// console.log(typeof arr)// console.log(typeof obj)// 在把一些原始类型,比如字符串、数字当做对象使用的时候// JS会自动包装他们,让他们变为对象,然后再调用这些方法let str = 'adfasdfdsfdf' // let obj = new String('adfasdfdsfdf')// console.log(typeof str) // string// let obj = new String('adfasdfdsfdf') // 实际中,这行不需要的;老师为了演示JS是怎么包装的let result = str.match(/a/g)console.log(result)let num = 3.1415926// let obj2 = new Number(3.1415926)console.log(num.toFixed(2))// 是不是只要使用字符串,就会把它包装成对象呢?// 是不是只要使用数字,就会把它包装成对象呢?// 不是的,平时用还是字符串,还是数字;只有在把字符串、数字当做对象使用的时候,才会包装成对象console.log('hello' + ' world')console.log(6 * 8)
