[
  {
    "name": "at",
    "signature": "String.prototype.at(index)",
    "returns": "string | undefined",
    "description": "Returns the character at the given index, supporting negative indices to count from the end of the string.",
    "ecmaVersion": "ES2022"
  },
  {
    "name": "charAt",
    "signature": "String.prototype.charAt(index)",
    "returns": "string",
    "description": "Returns a new string consisting of the single UTF-16 code unit at the given index. Returns an empty string if the index is out of range.",
    "ecmaVersion": "ES1"
  },
  {
    "name": "charCodeAt",
    "signature": "String.prototype.charCodeAt(index)",
    "returns": "number",
    "description": "Returns an integer between 0 and 65535 representing the UTF-16 code unit at the given index. Returns NaN if the index is out of range.",
    "ecmaVersion": "ES1"
  },
  {
    "name": "codePointAt",
    "signature": "String.prototype.codePointAt(pos)",
    "returns": "number | undefined",
    "description": "Returns a non-negative integer that is the Unicode code point value of the character at the given position. Returns undefined if the position is out of range.",
    "ecmaVersion": "ES2015"
  },
  {
    "name": "concat",
    "signature": "String.prototype.concat(...strings)",
    "returns": "string",
    "description": "Concatenates the string arguments to the calling string and returns a new string.",
    "ecmaVersion": "ES3"
  },
  {
    "name": "endsWith",
    "signature": "String.prototype.endsWith(searchString, endPosition?)",
    "returns": "boolean",
    "description": "Determines whether a string ends with the characters of a specified string. Returns true or false.",
    "ecmaVersion": "ES2015"
  },
  {
    "name": "fromCharCode",
    "signature": "String.fromCharCode(...codes)",
    "returns": "string",
    "description": "Returns a string created from the specified sequence of UTF-16 code unit values. This is a static method on String, not on String.prototype.",
    "ecmaVersion": "ES1"
  },
  {
    "name": "fromCodePoint",
    "signature": "String.fromCodePoint(...codePoints)",
    "returns": "string",
    "description": "Returns a string created by using the specified sequence of Unicode code points. This is a static method on String, not on String.prototype.",
    "ecmaVersion": "ES2015"
  },
  {
    "name": "includes",
    "signature": "String.prototype.includes(searchString, position?)",
    "returns": "boolean",
    "description": "Determines whether one string may be found within another string, returning true or false.",
    "ecmaVersion": "ES2015"
  },
  {
    "name": "indexOf",
    "signature": "String.prototype.indexOf(searchValue, fromIndex?)",
    "returns": "number",
    "description": "Returns the index of the first occurrence of a specified value in a string. Returns -1 if the value is not found.",
    "ecmaVersion": "ES1"
  },
  {
    "name": "isWellFormed",
    "signature": "String.prototype.isWellFormed()",
    "returns": "boolean",
    "description": "Returns a boolean indicating whether the string contains any lone surrogates (well-formed means no unpaired surrogates).",
    "ecmaVersion": "ES2024"
  },
  {
    "name": "lastIndexOf",
    "signature": "String.prototype.lastIndexOf(searchValue, fromIndex?)",
    "returns": "number",
    "description": "Returns the index of the last occurrence of a specified value in a string. Returns -1 if the value is not found.",
    "ecmaVersion": "ES1"
  },
  {
    "name": "localeCompare",
    "signature": "String.prototype.localeCompare(compareString, locales?, options?)",
    "returns": "number",
    "description": "Returns a number indicating whether a reference string comes before, after, or is the same as the given string in sort order. Negative if before, positive if after, 0 if equivalent.",
    "ecmaVersion": "ES3"
  },
  {
    "name": "match",
    "signature": "String.prototype.match(regexp)",
    "returns": "RegExpMatchArray | null",
    "description": "Retrieves the result of matching a string against a regular expression. Returns an array with match information or null if there is no match.",
    "ecmaVersion": "ES3"
  },
  {
    "name": "matchAll",
    "signature": "String.prototype.matchAll(regexp)",
    "returns": "IterableIterator<RegExpMatchArray>",
    "description": "Returns an iterator of all matches of a regular expression against a string, including capturing groups.",
    "ecmaVersion": "ES2020"
  },
  {
    "name": "normalize",
    "signature": "String.prototype.normalize(form?)",
    "returns": "string",
    "description": "Returns the Unicode Normalization Form of the calling string. Form can be 'NFC', 'NFD', 'NFKC', or 'NFKD'. Defaults to 'NFC'.",
    "ecmaVersion": "ES2015"
  },
  {
    "name": "padEnd",
    "signature": "String.prototype.padEnd(targetLength, padString?)",
    "returns": "string",
    "description": "Pads the current string with a given string from the end until the resulting string reaches the given length.",
    "ecmaVersion": "ES2017"
  },
  {
    "name": "padStart",
    "signature": "String.prototype.padStart(targetLength, padString?)",
    "returns": "string",
    "description": "Pads the current string with another string from the start until the resulting string reaches the given length.",
    "ecmaVersion": "ES2017"
  },
  {
    "name": "raw",
    "signature": "String.raw(strings, ...substitutions)",
    "returns": "string",
    "description": "A tag function of template literals that returns the raw string content of a template literal. Backslash sequences are not processed. This is a static method on String.",
    "ecmaVersion": "ES2015"
  },
  {
    "name": "repeat",
    "signature": "String.prototype.repeat(count)",
    "returns": "string",
    "description": "Returns a new string which contains the specified number of copies of the string on which it was called, concatenated together.",
    "ecmaVersion": "ES2015"
  },
  {
    "name": "replace",
    "signature": "String.prototype.replace(searchValue, replaceValue)",
    "returns": "string",
    "description": "Returns a new string with some or all matches of a pattern replaced by a replacement. The pattern can be a string or a RegExp, and the replacement can be a string or a function.",
    "ecmaVersion": "ES3"
  },
  {
    "name": "replaceAll",
    "signature": "String.prototype.replaceAll(searchValue, replaceValue)",
    "returns": "string",
    "description": "Returns a new string with all matches of a pattern replaced by a replacement. The pattern can be a string or a non-global RegExp, and the replacement can be a string or a function.",
    "ecmaVersion": "ES2021"
  },
  {
    "name": "search",
    "signature": "String.prototype.search(regexp)",
    "returns": "number",
    "description": "Executes a search for a match between a regular expression and a string. Returns the index of the first match or -1 if no match is found.",
    "ecmaVersion": "ES3"
  },
  {
    "name": "slice",
    "signature": "String.prototype.slice(beginIndex, endIndex?)",
    "returns": "string",
    "description": "Extracts a section of a string and returns it as a new string without modifying the original. Supports negative indices.",
    "ecmaVersion": "ES3"
  },
  {
    "name": "split",
    "signature": "String.prototype.split(separator?, limit?)",
    "returns": "string[]",
    "description": "Divides a string into an ordered list of substrings by searching for a separator and returns the substrings in an array.",
    "ecmaVersion": "ES1"
  },
  {
    "name": "startsWith",
    "signature": "String.prototype.startsWith(searchString, position?)",
    "returns": "boolean",
    "description": "Determines whether a string begins with the characters of a specified string. Returns true or false.",
    "ecmaVersion": "ES2015"
  },
  {
    "name": "substring",
    "signature": "String.prototype.substring(indexStart, indexEnd?)",
    "returns": "string",
    "description": "Returns a portion of the string between the start and end indexes, or to the end of the string. Unlike slice, negative indices are treated as 0.",
    "ecmaVersion": "ES1"
  },
  {
    "name": "toLocaleLowerCase",
    "signature": "String.prototype.toLocaleLowerCase(locales?)",
    "returns": "string",
    "description": "Returns the calling string value converted to lower case according to any locale-specific case mappings.",
    "ecmaVersion": "ES3"
  },
  {
    "name": "toLocaleUpperCase",
    "signature": "String.prototype.toLocaleUpperCase(locales?)",
    "returns": "string",
    "description": "Returns the calling string value converted to upper case according to any locale-specific case mappings.",
    "ecmaVersion": "ES3"
  },
  {
    "name": "toLowerCase",
    "signature": "String.prototype.toLowerCase()",
    "returns": "string",
    "description": "Returns the calling string value converted to lower case.",
    "ecmaVersion": "ES1"
  },
  {
    "name": "toString",
    "signature": "String.prototype.toString()",
    "returns": "string",
    "description": "Returns a string representing the specified object. Overrides the Object.prototype.toString() method. For String objects, returns the string value.",
    "ecmaVersion": "ES1"
  },
  {
    "name": "toUpperCase",
    "signature": "String.prototype.toUpperCase()",
    "returns": "string",
    "description": "Returns the calling string value converted to upper case.",
    "ecmaVersion": "ES1"
  },
  {
    "name": "toWellFormed",
    "signature": "String.prototype.toWellFormed()",
    "returns": "string",
    "description": "Returns a string where all lone surrogates are replaced with the Unicode replacement character U+FFFD, ensuring the string is well-formed.",
    "ecmaVersion": "ES2024"
  },
  {
    "name": "trim",
    "signature": "String.prototype.trim()",
    "returns": "string",
    "description": "Removes whitespace from both ends of a string and returns a new string without modifying the original.",
    "ecmaVersion": "ES5"
  },
  {
    "name": "trimEnd",
    "signature": "String.prototype.trimEnd()",
    "returns": "string",
    "description": "Removes whitespace from the end of a string and returns a new string without modifying the original. Also known as trimRight.",
    "ecmaVersion": "ES2019"
  },
  {
    "name": "trimStart",
    "signature": "String.prototype.trimStart()",
    "returns": "string",
    "description": "Removes whitespace from the beginning of a string and returns a new string without modifying the original. Also known as trimLeft.",
    "ecmaVersion": "ES2019"
  },
  {
    "name": "valueOf",
    "signature": "String.prototype.valueOf()",
    "returns": "string",
    "description": "Returns the primitive value of a String object. Overrides the Object.prototype.valueOf() method.",
    "ecmaVersion": "ES1"
  }
]
