SassString

Sass 的字串類型

階層

    • SassString

建構子

  • 建立一個新的字串。

    參數

    • text: string

      字串的內容。對於帶引號的字串,這是語義內容——原始文字中寫入的任何跳脫序列都會解析為其 Unicode 值。然而,對於不帶引號的字串,跳脫序列會保留為字面上的反斜線。

    • 選用 options: {
          引號?: 布林值;
      }
      • 選用 quotes?: boolean

        字串是否帶引號。預設為 true

    回傳 SassString

  • 建立一個空的字串。

    參數

    • 選用 options: {
          引號?: 布林值;
      }
      • 選用 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 笑臉符號是一個 Unicode 字碼點,但在 UTF-16 中表示為兩個字碼單元(0xD83D0xDE0A)。因此,在 JavaScript 中,"n😊b".length 返回 4,而在 Sass 中,string.length("n😊b") 返回 3

    返回 number

  • get text(): 字串
  • 字串的內容。

    對於帶引號的字串,這是語義內容——原始文字中寫入的任何跳脫序列都會解析為其 Unicode 值。 然而,對於不帶引號的字串,跳脫序列會保留為字面上的反斜線。

    這種差異允許我們區分帶有跳脫字元的識別碼,例如 url\u28 http://example.com\u29,和包含識別碼中無效字元的不帶引號的字串,例如 url(http://example.com)。 不幸的是,這也意味著我們不認為 foof\6F\6F 是相同的字串。

    回傳 字串

方法

  • 以列表形式返回此值中索引為 index 的值,如果 index 對此列表無效,則返回 undefined

    所有 SassScript 值都可以用作列表。映射計為成對列表,所有其他值計為單值列表。

    這是 this.asList.get(index) 的簡寫,但在某些情況下可能更有效率。

    ⚠️ 注意!

    此方法使用與 immutable 套件相同的索引慣例:與 Sass 不同,第一個元素的索引是 0,但與 Sass 相同,負數從列表的末尾開始索引。

    參數

    • indexnumber

    返回 undefined | Value

  • sassIndex 轉換為 JavaScript 風格的索引,索引到 asList 返回的列表中。

    Sass 索引是從一開始的,而 JavaScript 索引是從零開始的。Sass 索引也可以是負數,以便從列表的末尾開始索引。

    拋出

    錯誤:如果 sassIndex 不是數字、該數字不是整數,或者該整數不是 asList 的有效索引。

    參數

    • sassIndex: Value

      以此作為列表的 Sass 風格索引。

    • 選用 name: 字串

      函數參數 sassIndex 的來源名稱(不含 $),如果它來自參數。用於錯誤回報。

    返回 number

  • sassIndex 轉換為 text 的 JavaScript 索引。

    Sass 索引從 1 開始,而 JavaScript 索引從 0 開始。Sass 索引也可以是負數,以便從字串的末尾開始索引。

    此外,Sass 索引指的是 Unicode 字碼點,而 JavaScript 字串索引指的是 UTF-16 字碼單元。例如,字元 U+1F60A 笑臉符號是一個 Unicode 字碼點,但在 UTF-16 中表示為兩個字碼單元(0xD83D0xDE0A)。所以在 JavaScript 中,"n😊b".charCodeAt(1) 返回 0xD83D,而在 Sass 中,string.slice("n😊b", 1, 1) 返回 "😊"

    此函數將 Sass 的字碼點索引轉換為 JavaScript 的字碼單元索引。這表示它的時間複雜度與 text 的長度成正比 (O(n))。

    拋出

    錯誤:如果 sassIndex 不是數字、該數字不是整數,或者該整數不是此字串的有效索引。

    參數

    • sassIndex: Value
    • 選用 name: 字串

    返回 number