• JavaScript codePointAt() 方法


    JavaScript:字符串 codePointAt() 方法

    本 JavaScript 教程通过语法和示例解释了如何使用 javascript 字符串方法codePointAt()。

    描述

    在 JavaScript 中,codePointAt() 是一种字符串方法,用于检索字符串中特定位置的字符的Unicode代码点(可能无法用单个 UTF-16 代码单元表示)。因为 codePointAt() 方法是 String 对象的方法,所以必须通过 String 类的特定实例调用它。

    语法

    在 JavaScript 中,codePointAt() 方法的语法是:

    string.codePointAt([position]);

    参数

    position  可选的。它是您希望为其检索Unicode代码点的字符串中字符的位置。字符串中的第一个位置是 0。如果不提供此参数,则 codePointAt() 方法将使用 0 作为默认值。

    返回值

    codePointAt() 方法返回字符串中特定位置的字符的 Unicode 代码点。

    如果 position越界并且给定位置没有字符,则 codePointAt() 方法将返回undefined

    注意

    • 如果字符的 Unicode 值可以用单个 UTF-16 代码单元表示,您也可以使用charCodeAt() 方法。
    • codePointAt() 方法不会更改原始字符串的值。

    例子

    让我们看一个如何在 JavaScript 中使用 codePointAt() 方法的示例。

    例如:

    1. console.log('吉'.codePointAt(0));
    2. console.log('吉'.codePointAt(1));

    在此示例中,我们调用了 codePointAt() 方法来返回特定位置字符的 Unicode 代码点。

    出于演示目的,我们已将 codePointAt() 方法的输出写入Web 浏览器控制台日志,以显示 codePointAt() 方法返回的内容。

    以下将输出到Web 浏览器控制台日志

    1. 134071
    2. 57271

    如您所见,codePointAt() 方法在两种情况下都返回了一个 Unicode 代码点。“吉”字符不能用单个 UTF-16 代码单元表示,因此它有一对代码点代理。

    没有提供参数

    接下来,让我们看看如果不向 codePointAt() 方法提供参数会发生什么。

    例如:

    console.log('吉'.codePointAt(0));

    以下将输出到Web 浏览器控制台日志

    134071

    当没有提供位置参数时,codePointAt() 方法将使用 0 作为位置参数的值。在此示例中,当没有参数传递给该方法时,codePointAt() 方法返回 Unicode 代码点 134071。

    参数越界

    最后,让我们看看如果向 codePointAt() 方法传递一个越界的位置值会发生什么。

    例如:

    console.log('吉'.codePointAt(2));

    以下将输出到Web 浏览器控制台日志

    undefined

    如果position参数越界并且给定位置没有字符,则 codePointAt() 方法将返回undefined

    由于 2 是超出字符串 '吉' 范围的位置,因此 codePointAt() 方法在上述示例中返回undefined

    好了, 以上是本文所有内容,希望对大家有所帮助,也希望大家对码农之家多多支持,你们的支持是我创作的动力!祝大家生活愉快!

  • 相关阅读:
    3D激光线轮廓传感器市场需求,预计2029年将达到734.86百万美元。
    go mod出现zip: not a valid zip file的解决办法
    【Linux】进程状态
    Java多线程开发CompletableFuture的应用
    QT实战项目1——无边框窗口拖拽和阴影
    FAC1206R路由器刷机
    一文了解Word2vec 阐述训练流程
    MySQL之函数
    SpringMVC入门
    软件工程17-18期末试卷
  • 原文地址:https://blog.csdn.net/wuxiaopengnihao1/article/details/126809702