javascript高级程序设计阅读收获(3.4.6)——String类型

1.常用字符串

  1. 转义字符表
字面量含义
\n换行
\t制表
\b退格
\r回车
\f换页
\反斜杠(\)
单引号(’)
"双引号(")
`反引号(`)
\xnn十六进制编码nn表示的字符,如:\x41等于"A"
\unnn十六进制编码nnn表示的字符,如:\u03a3等于希腊字符"∑"
  1. 这些字符串字面量只算一个字符。
  2. 字符串的长度可以通过其length属性来获取。
console.log("abcd\u03a3".length);//输出结果为5
  1. 当修改一个字符串的时候,必须先摧毁原始的字符串,然后将包含新值的另一个字符串保存到该变量。

2.将其他类型转化成为字符串

  1. toString方法可用于数值,布尔值,对象和字符串值。unll和undefined没有toString方法。
  2. toString一般没有参数,当数值类型调用这个方法的时候可以添加一个参数来决定将这个数值转化成为多少进制的字符串。
  3. String()方法可以吧参数转化成为字符串,他可以将null和undefined转化成为字符串,其他类型他会根据toString的逻辑将其转化成为字符串。
  4. 还可以通过+""的方式将其转化成为一个字符串。

3.模板字面量

  1. 模板字面量就是反引号包裹起来的字符串。``
  2. 模板字符串会保留换行符
let mystr = `hello
world`;
console.log(mystr);
//会打印出:hello
//world
  1. 可以再模板字面量中使用字符串插值
let value = "aaa";
let str = `${valule}bbb`
console.log(str);//打印出aaabbb
  1. 标签函数和模板字面量
function simpleTag(strings,...values){
	console.log(strings);
	console.log(values);
	return "foobar";
}
let a = 6;
let b = 9;
let tagResult = simpleTag`${a}aaaa${b}bbbb`;
//标签函数后面可以紧跟一个模板字面量
//tagResult的值是simpleTag函数的返回值
//标签函数的第一个参数是模板字面量不包含插值的字符串数组,在上面中,strings为:["","aaaa","bbbb"]
//从第二个参数开始,依次是模板字面量中间的插值
  1. String.raw是一个标签函数,他用于返回一个转义前的该字符串(原始字符串)
let str = String.raw`\u0049`;//str的值为\u0049

但是对实际的换行符来说是不行的

let str = String.raw`first line
seconed line`
//str的值不为first line\nseconed line
  1. 可以通过其raw属性获取字符串数组中的每一个原始字符串。
for(const rawString of strings.raw){//string为一个字符串数组
	console.log(rawString);//获取到的为字符串数组中每一个元素的原始字符串
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

木子 旭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值