在 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)