TypeScript 字符串中的拼写错误#match (lib.es2015.symbol.wellknown)

h5qlskok  于 6个月前  发布在  TypeScript
关注(0)|答案(2)|浏览(42)

TypeScript版本: 3.0.0-dev.201xxxxx
搜索词:

拼写错误,字符串,库,es2015.symbol.wellknown
我已经擦除了模板的大部分内容,因为这是一个拼写错误报告。
我原本打算只是提交一个PR,但是模板有以下问题:

  • Backlog里程碑中有关联的问题(必需)

拼写错误本身是String#matchlib.es2015.symbol.wellknown中将其参数描述粘贴在了方法描述的中间:
TypeScript/src/lib/es2015.symbol.wellknown.d.ts
第209行到第212行的d2c5d54
| | /** |
| | * 匹配一个字符串和一个支持被匹配的对象,并返回包含搜索结果的数组。 |
| | * @param matcher 一个支持被匹配的对象。 |
| | */ |
我的PR用"带有正则表达式"替换了它——请告诉我如何正确处理这个问题。

3yhwsihp

3yhwsihp1#

我刚刚在 es5.libRegExp 接口中找到了一个类似的拼写错误:
TypeScript/src/lib/es5.d.ts
第912行到第913行
| | /** 返回正则表达式模式文本的副本。只读。regExp 参数是一个正则表达式对象。它可以是一个变量名或一个字面量。 / |
| | readonlysource: string; |
注解的最后一部分似乎不太相关:
regExp 参数是一个正则表达式对象。它可以是一个变量名或一个字面量。
我的猜测是,这是 #match 函数 #match 所接受的 regexp 参数的描述,它看起来非常相似:
TypeScript/src/lib/es5.d.ts
第416行到第420行
| | /
* |
| | * 使用正则表达式匹配字符串,并返回包含搜索结果的数组。 |
| | * @param regexp 一个包含正则表达式模式和标志的变量名或字符串字面量的字符串。 |
| | */ |
| | match(regexp: string|RegExp): RegExpMatchArray|null; |

oknwwptz

oknwwptz2#

我已经在replace()函数中发现了另一个问题:

/**
 * Replaces text in a string, using an object that supports replacement within a string.
 * @param searchValue A object can search for and replace matches within a string.
 * @param replaceValue A string containing the text to replace for every successful match of searchValue in this string.
 */
 replace(searchValue: { [Symbol.replace](string: string, replaceValue: string): string; }, replaceValue: string): string;

这个注解具有误导性,因为当模式是正则表达式时,该函数会替换所有匹配项,但当模式是字面量时,它只会替换第一个匹配项,如https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace所述:
replace()方法返回一个新字符串,其中一些或所有与模式匹配的项被替换为替换项。模式可以是字符串或正则表达式,替换项可以是字符串或每次匹配调用的函数。如果模式是字符串,只有第一个匹配项会被替换。
这可以通过运行以下代码得到证实:

console.log("foo".replace("o", "O")); // => fOo
console.log("foo".replace(/o/g, "O")); // => fOO

相关问题