以前之所以能够访问基本数据类型的属性和方法,是因为在运行的时候系统
自动将基本数据类型包装成了对象类型看下面,str为什么有length属性,str是基本数据类型,基本数据类型是没有属性和方法的,这是因为js帮我们包装成了相应的对象类型
1
2
3let str = "www.it666.com";
// let str = new String(str);//隐式
console.log(str.length);有哪些基本数据类型?
字符串类型 / 数值类型 / 布尔类型 / 空类型 / 未定义类型字面量表示如何表达这个值,一般除去表达式,给变量赋值时,等号右边都可以认为是字面量。
字面量分为字符串字面量(string literal )、数组字面量(array literal)和对象字面量(object literal),另外还有函数字面量(function literal)。
示例:
1 | var test="hello world!"; |
“hello world!” 就是字符串字面量,test 是变量名。
通过字面量创建的基本数据类型的数据都是常量,常量是不能被修改的,如果修改的话, 每次修改或者拼接都是生成一个新的
字符串字面量只能通过replace修改,返回一个新的str
1
2
3
4
5let str = "abc";
// str[1] = "m";//不能修改
let newStr = str.replace("b", "m");
console.log(str); // abc
console.log(newStr); // amc基本类型特点,没有属性和方法
对象类型的特点,有属性和方法
未包装的string会访问失败,我们没有对str进行包装
1 | let str = "lnj"; |