String类型用于表示由零或多个16位Unicode字符组成的字符序列,即字符串。字符串可以有双引号或单引号表示。
console.log("Febby");
console.log('Febby');
console.log('Febby"); //报错
- 字符字面量(转义序列)
字面量 | 含义 |
---|---|
\n | 换行 |
\t | 制表 |
\b | 退格 |
\r | 回车 |
\f | 进纸 |
\ \ | 斜杠 |
\ ’ | 单引号(’) |
\ " | 双引号(”) |
\xnn | 以十六进制代码nn表示的一个字符(其中n为0~F)。例如,\x41表示"A" |
\unnn | 以十六进制代码nnnn表示的一个字符(其中n为0~F)。例如,\u03a3表示"Σ" |
var text="Hello Febby! \u03a3";
console.log(text); //Hello Febby! Σ
console.log(text.length);//14
- 字符串特点
ES中的字符串是不可变的。要改变某个变量保存的字符串,首先要销毁原来的字符串,然后再用另一个包含新值的字符串填充该变量,这个过程是在后台发生的。
var lang="Hello";
lang=lang+"Febby";
console.log(lang);//HelloFebby
- 转换为字符串
要把一个值转换为字符串有两种方式。
第一种是 toString()方法。这个方法是返回相应的值的字符串表现。
//转换为字符串
var age=18;
console.log(age.toString()); //字符串"18"
数值、布尔值、对象和字符串值都有toString()方法,但null和undefined值没有这个方法。
可以传递一个参数:输出数值的基数,可以输出以二进制、八进制、十六进制,或者其他进制格式表示的字符串值
//可以传递一个参数:输出数值的基数,可以输出以二进制、八进制、十六进制,或者其他进制格式表示的字符串值
var num=10;
console.log(num.toString());//"10"
console.log(num.toString(2));//"1010"
console.log(num.toString(8));//"12"
console.log(num.toString(10));//"10"
console.log(num.toString(16));//"a"
第二种是 String()方法。这个函数能够将任何类型的值转为为字符串。因为null和undefined值没有toString()方法,所以String()函数就返回了这两个值的字面量。
console.log(String(10)); //"10"
console.log(String(true));//"true"
console.log(String(null));//"null"
console.log(String(""));//
console.log(String(undefined)); //"undefined"
知识来源:《JavaScript高级程序设计》
总结篇传送门:https://blog.youkuaiyun.com/Febby_/article/details/86539862
Number类型分篇传送门:https://blog.youkuaiyun.com/Febby_/article/details/90119879