认识
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
类型