跳到主要内容

认识

2023年02月10日
柏拉文
越努力,越幸运

一、语法


1.1 普通字符串

基础字符串
const str = "柏拉图"
插值字符串
const num = 10;
const str = "柏拉图"+num+"号"

1.2模板字符串

语法:

基础字符串
const str = `柏拉图`
插值字符串
const num = 10;
const str = `柏拉图${num}`

对比:

  • 对比一、+ 字符串 、模版字符串、String.prototype.concat() 的区别?

    • + 字符串: 加法强制将表达式转为基本类型,它优先调用 valueOf(), 如果表达式有 @@toPrimitive 方法,字符串连接时会用 default 作为 hint 调用它

    • 模版字符串: 强制将表达式转为字符串,优先调用 toString(),如果表达式有 @@toPrimitive 方法,模板字符串会用 string 作为 hint 调用它

    • String.prototype.concat(): 强制将表达式转为字符串,优先调用 toString(),如果表达式有 @@toPrimitive 方法,模板字符串会用 string 作为 hint 调用它

二、存储结构


JavaScript的第一个版本中,单个值在栈中占据32位的存储单元。存储单元分为两个部分:一部分是标记位,另一部分是数据。标记位为100表示String类型