String类型
字符串用双引号""
或者单引号''
和反引号``来包裹住。要注意的是,用哪种的引号开头就要用同样的引号来结尾,不然引擎会抛出错误。
let a = "hello";
let b = 'hello';
let c = `hello`;
上面的代码都是合理的。
还有字符字面量(转义字符):
字符字面量 | 含义 |
---|---|
\n | 换行 |
\t | 制表 |
\b | 退格 |
\r | 回车 |
\f | 换页 |
\\ | 反斜杠 |
\` | 反引号 |
\" | 双引号 |
\’ | 单引号 |
当然这表格列举的只是常用的,还有没有列举出来。主要是用来打印或者其他的用途。
转义字符可以出现在字符串的任意的位置,并且是以一个字符长度来计算。字符串的长度可以用length的属性来获取。、
let a = "Hello world";
console.log(a);//Hello world
console.log(a.length);//11
let b = "Hello\nworld";//这里把单词之间的空格删除了,替换成了\n
console.log(b);//Hello
//world
console.log(a.length);//11
特点:
一旦创建了字符串之后,值就不可变了,要修改值,就必要要销毁原来的值,然后再重新赋值。
let a = "Hello";
console.log(a);//Hello
a = a + " world";
console.log(a);//Hello world
看起来其实并没有多大的区别。引擎创建一个可以包含新的字符串的空间,然后把新的字符串填充进去,最后把原来的数值销毁。因为原始的数值已经没用了。
转换为字符串的方法
toString()
方法String()
函数
toString()
方法
除了null
和undefined
没有这个方法之外,其他数据类型的都含有这个方法。这个方法唯一用途就是返回当前的值的字符串。
多数情况下不接收参数。数值可以接受一个底数参数。怎么说呢,toString()
方法转换数值时默认返回的是十进制的,可以传进底数参数改变返回的进制。看下面的代码:
let a = 10;
console.log(a);//10 这是数值类型的 number
console.log(a.toString(2));//1010 二进制,以下的是字符串类型的 string
console.log(a.toString(8));//12 八进制
console.log(a.toString(10));//10 十进制
console.log(a.toString(16));//a 十六进制
String()
转型函数
它始终会返回表示相应类型值的字符串。而且它支持转换null
和undefined
。如果值有toString()
方法,还是调用这个方法。
let a = 10;
let b = null;
let c;
console.log(String(a));//10
console.log(String(b));//null
console.log(String(c));//undefined
由此知道这个转型函数null
和undefined
返回的是和自身一样的字符串。
字符串插值
以前使用的方法:
let a = "Hello";
console.log(a + " world");//Hello world
现在可以使用模板字面量来实现。
let a = "Hello";
console.log(`${a} world`);//Hello world
插入的值全部都会用toString()
方法强制转换为字符串。
还有其他的没有一一列举出来,可自行查找资料
个人见解和查找资料所写的笔记。