SassString

Sass 的 字符串类型

层次结构

    • SassString

构造函数

  • 创建一个新的字符串。

    参数

    • text: string

      字符串的内容。对于带引号的字符串,这是语义内容——源文本中编写的任何转义序列都将解析为其 Unicode 值。但是,对于不带引号的字符串,转义序列将保留为文字反斜杠。

    • 可选 options: {
          quotes?: boolean;
      }
      • 可选 quotes?: boolean

        字符串是否带引号。默认为 true

    返回 SassString

  • 创建一个空字符串。

    参数

    • 可选 options: {
          quotes?: boolean;
      }
      • 可选 quotes?: boolean

        字符串是否带引号。默认为 true

    返回 SassString

访问器

  • get hasBrackets(): boolean
  • 此值作为列表是否 带括号。

    所有 SassScript 值都可以用作列表。映射计为成对的列表,所有其他值计为单值列表。

    返回 boolean

  • get isTruthy(): boolean
  • 此值在 @if 语句和其他 上下文中是否被视为 true

    返回 boolean

  • get sassLength(): number
  • Sass 对此字符串 长度的理解。

    Sass 将字符串视为一系列 Unicode 代码点,而 JavaScript 将其视为一系列 UTF-16 代码单元。例如,字符 U+1F60A SMILING FACE WITH SMILING EYES 是一个 Unicode 代码点,但在 UTF-16 中表示为两个代码单元(0xD83D0xDE0A)。因此,在 JavaScript 中,"n😊b".length 返回 4,而在 Sass 中 string.length("n😊b") 返回 3

    返回 number

  • get text(): string
  • 字符串的 内容。

    对于带引号的字符串,这是语义内容——源文本中编写的任何转义序列都将解析为其 Unicode 值。但是,对于不带引号的字符串,转义序列将保留为字面 反斜杠。

    这种差异使我们能够区分带转义符的标识符,例如 url\u28 http://example.com\u29,以及包含标识符中无效字符的不带引号的字符串,例如 url(http://example.com)。不幸的是,这也意味着我们不认为 foof\6F\6F 是相同的 字符串。

    返回 string

方法

  • 返回此值作为列表中索引index处的值,如果index对于此列表无效,则返回undefined

    所有 SassScript 值都可以用作列表。映射计为成对的列表,所有其他值计为单值列表。

    这相当于this.asList.get(index)的简写,但在某些情况下可能效率更高。

    ⚠️ 注意!

    此方法使用与immutable包相同的索引约定:与Sass不同,第一个元素的索引为0,但与Sass一样,负数从列表末尾开始索引。

    参数

    • index: number

    返回undefined | Value

  • sassIndex转换为JavaScript风格的索引,用于asList返回的列表。

    Sass索引从1开始,而JavaScript索引从0开始。Sass索引也可能是负数,以便从列表末尾开始索引。

    抛出异常

    Error 如果sassIndex不是数字,如果该数字不是整数,或者如果该整数不是asList的有效索引。

    参数

    • sassIndex: Value

      Sass风格的索引,指向此值作为列表。

    • 可选 name: string

      如果sassIndex来自参数,则为该参数的名称(不带$),用于错误报告。

    返回 number

  • sassIndex转换为JavaScript风格的索引,用于text

    Sass索引从1开始,而JavaScript索引从0开始。Sass索引也可能是负数,以便从字符串末尾开始索引。

    此外,Sass索引指的是Unicode代码点,而JavaScript字符串索引指的是UTF-16代码单元。例如,字符U+1F60A SMILING FACE WITH SMILING EYES是一个Unicode代码点,但在UTF-16中表示为两个代码单元(0xD83D和0xDE0A)。因此,在JavaScript中,"n😊b".charCodeAt(1)返回0xD83D,而在Sass中,string.slice("n😊b", 1, 1)返回"😊"

    此函数将Sass的代码点索引转换为JavaScript的代码单元索引。这意味着它在text的长度上是O(n)。

    抛出异常

    Error - 如果sassIndex不是数字,如果该数字不是整数,或者如果该整数不是此字符串的有效索引。

    参数

    • sassIndex: Value
    • 可选 name: string

    返回 number