String 类型
非打印字符#
string 类型包含一些特殊字符字面量,也叫转义序列,用于表示非打印字符 [1]。
\r
回车,return 光标回到行首\n
换行,newline 使光标到下一行\f
进纸,paper feed (喂养、进料、供给)
关于 \r
\n
源自电传打字机 [2]。
换行且返回到下一行的最开始位置,完整的写法是 \r\n
,在 linux、macos、linux 的区别 [3]。
\t
制表,键盘的 tab 键
\b
退格,键盘的 back 键
\\
斜杠\'
单引号\"
双引号\xnn
十六进制代码 nn 表示的一个字符,n 为 0-F。如 \x41
表示 A
。\unnnn
表示 unicode 字符,n 为 0-F。如 \u03a3
表示希腊字符 ∑
。
非打印字符被作为一个字符解析
var text = 'letter \x41'; // 长度为 8
转为字符串#
几乎每个值都有 toString()
方法
var n=111
console.log(n.toString()); // "111"
var b=true
console.log(b.toString()); // "true"
var s="string"
console.log(s.toString()); // "string"
多数情况下,toString()
函数不必传递参数,但调用数值的 toString()
方法时可以传递一个基数,表示返回二进制、八进制、十进制、十六进制
var n=10
console.log(n.toString()); // 10 默认十进制
console.log(n.toString(10)); // 10
console.log(n.toString(2)); // 1010
console.log(n.toString(8)); // 12
console.log(n.toString(16)); // a
null 和 undefined 值没有这个方法
var u=undefined
console.log(u.toString()); // Cannot read properties of undefined (reading 'toString')
如果不知道要转换的值是不是 null 和 undefined 的情况,可以用 String()
函数将任何类型的值转为字符串,它遵循以下规则
- 存在 toString () 方法,则调用
- 如果值为 null,返回
"null"
- 如果值为 undefined,返回
"undefined"
[1] ASCII 非打印字符
来源 www.jianshu.com/p/92adace39d27
[2] \r
、\n
由来
电传打字机就像机械打字机一样工作,它每秒钟可以打 10 个字符,但是有一个问题,就是打完一行换行的时候,要用去 0.2 秒,正好可以打两个字符,如果在这 0.2 秒内有新的字符传过来,那么这两个字符将丢失。于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符:一个叫做回车(return),告诉打字机把打印头回到左边;另一个叫做换行(newline),告诉打字机把纸向下移一行。
转自:events.jianshu.io/p/d4c3aa603387
[3] \r\n
linux、unix: \r\n
windows : \n
Mac OS : \r