代码之家  ›  专栏  ›  技术社区  ›  Alexander Abakumov

ES2018中不区分大小写的字符串操作

  •  1
  • Alexander Abakumov  · 技术社区  · 6 年前

    我们有多个本机方法,由 String javascript中的对象:

    所有这些都是区分大小写的。

    当谈到不区分大小写的操作时,我们有一些流行的选项,尽管它们都远不是理想的。

    toUpperCase() \ toLowerCase()

    最流行的伎俩是 头壳() \ ToLowercase() 方法。但是,它们并不能对所有语言(德语、土耳其语等)都正常工作,并且在转换这两个字符串时性能很好,即使通过查看第一对字符可以知道操作的结果。

    RegEx

    第二种选择是使用 正则表达式 ES与 i 期权。但是,它也有两个主要缺点:

    • 不清楚和混乱的代码(因为它几乎总是 案件与 正则表达式 ES)
    • 由组合 正则表达式 字符串并将其编译为实际的 正则表达式 每次手术

    而且,这些解决方案是在古代javascript vm时代“发明”的。如今 Intl (和其他更新的)api和transpiler,比如typescript和babel,以及polyfill库,比如 core-js ,我们可以轻松地为任何应用程序使用最新的javascript api。

    不区分大小写的解决方案是什么 ES2018年的运营情况?

    我正在寻找生产(认为mdn polyfills)质量性能良好的i18n友好代码,这是一个通用的去解决问题。

    0 回复  |  直到 6 年前