返回顶部
首页 > 资讯 > 前端开发 > JavaScript >JavaScript 字符串是什么
  • 722
分享到

JavaScript 字符串是什么

2024-04-02 19:04:59 722人浏览 薄情痞子
摘要

本篇文章给大家分享的是有关javascript 字符串是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。说起字符串,我们再熟悉不过了。接触编

本篇文章给大家分享的是有关javascript 字符串是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

说起字符串,我们再熟悉不过了。接触编程的第一个经典任务就是输出字符串:Hello, world。但是你知道 JavaScript  字符串在计算机里是怎么表示的吗?

JavaScript 字符串是什么

最简单直观但不太准确的的理解就是,字符串就是由英文字母、数字和标点符号等这些字符组成的序列。比如下面这个字符串就是由5个字母和一个感叹号组成的:

const message = 'Hello!';

同时也可以看出该字符串的字符数是6:

const message = 'Hello!'; message.length; // => 6

如果字符串是由这些可见字符(也就是 127 个 ASCII 字符) 组成的,这样理解没有问题。但是,一旦碰到不常见的符号,比如一些表情字符?, ?,  ?,可能会得到意外的结果:

const smile = '?'; smile.length; // => 2

是不是很奇怪?明明只有一个字符,长度怎么会是 2 呢?这是因为,JavaScript 字符串实际上是由编码单元构成的,而不是可见字符序列。

ECMA 262 规范里是这么描述 JavaScript 字符串的:

String 类型是由零或多个 16 位无符号整数值组成的有序序列的集合。字符串类型通常用于表示运行中的 ECMAScript  程序中的文本数据,在这种情况下,字符串中的每个元素都被视为 UTF-16 编码单元值。

简单说,JavaScript 字符串就是 UTF-16 编码单元序列,一串数字而已。

一个编码单元就是位于 0x0000 和 0xFFFF 之间的一个数字,编码单元与字符之间有个对应关系。例如,编码单元 0x0048 对应了实际的字符  H:

const letter = '\u0048'; letter === 'H' // => true

如果把一整个字符串'Hello!'用编码单元表示就是这样:

const message = '\u0048\u0065\u006C\u006C\u006F\u0021'; message === 'Hello!'; // => true message.length;       // => 6

可以看到,这个字符串有6个编码单元,每个编码单元对应一个字符。基本多文种平面 BMP(Basic Multilingual  Plane)中的任意一个字符,都可以用一个 UTF-16 编码单元表示。但是,在这个范围以外的字符,就需要 2 个 UTF-16  编码单元来表示了。比如前面提到的笑脸符号,编码是\uD83D\uDE00:

const smile = '\uD83D\uDE00'; smile === '?'; // => true smile.length;  // => 2

这两个编码单元是成对存在的,用于表示超出 0xFFFF  的字符。不能拆开,否则就变成无法识别的乱码了。另外,这里的.length是2,说明这个属性其实是字符串编码单元的个数,而不是字符数。在需要判断字符数量的时候就要注意了,根据.length得到的结果是不准确的。那要怎么解决呢?可以用这种办法:

const message = 'Hello!'; const smile = '?';  [...message].length; // => 6 [...smile].length;   // => 1

以上就是JavaScript 字符串是什么,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网JavaScript频道。

--结束END--

本文标题: JavaScript 字符串是什么

本文链接: https://lsjlt.com/news/80692.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • JavaScript 字符串是什么
    本篇文章给大家分享的是有关JavaScript 字符串是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。说起字符串,我们再熟悉不过了。接触编...
    99+
    2024-04-02
  • javascript中字符串指的是什么
    小编给大家分享一下javascript中字符串指的是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在javascript中,字符串(String)就是由零个或...
    99+
    2023-06-15
  • javascript字符串操作方法是什么
    这篇文章主要介绍“javascript字符串操作方法是什么”,在日常操作中,相信很多人在javascript字符串操作方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”javascript字符串操作方法...
    99+
    2023-06-03
  • JavaScript字符串子串替换的方法是什么
    这篇文章主要介绍“JavaScript字符串子串替换的方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JavaScript字符串子串替换的方法是什么”文章能帮助大家解决问题。一、JavaSc...
    99+
    2023-07-06
  • JavaScript中的Base64编码字符串是什么
    今天小编给大家分享一下JavaScript中的Base64编码字符串是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。初步...
    99+
    2023-07-05
  • JavaScript模板字符串是什么及如何使用
    今天小编给大家分享一下JavaScript模板字符串是什么及如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1.什么是...
    99+
    2023-07-04
  • javascript如何串联字符形成字符串
    这篇文章主要为大家展示了“javascript如何串联字符形成字符串”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“javascript如何串联字符形成字符串”这...
    99+
    2024-04-02
  • php中字符串运算符是什么
    php中的字符串运算符有两个:1、字符串连接运算符“.”,语法“$string1.$string2”,会返回其左右参数连接后的字符串,即把两个或两个以上的字符串拼接成一个新的字符串;2、连接赋值运算符“.=”,语法“$string1 .= ...
    99+
    2022-06-29
    php php字符串
  • 在php中字符串是什么
    在php中,字符串是一个连续的字符序列,由一系列的字符组成,其中每个字符等同于一个字节。定义字符串有三种方式:1、使用单引号包裹字符,语法“'字符串内容'”;2、使用双引号包裹字符,语法“"字符串内容"”...
    99+
    2022-06-29
    php php字符串
  • Python字符串基础是什么
    本篇文章为大家展示了Python字符串基础是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、常量单引号:'spa''m'双引号:"spa'm&...
    99+
    2023-06-02
  • Java中的字符串是什么
    这篇文章给大家分享的是有关Java中的字符串是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。java中的字符串String : 内容不可更换的StringBuffer :  线程安全的StringB...
    99+
    2023-06-03
  • java字符串长度是什么
    java字符串长度是指一个字符对象中字符的数量。在java中,每个字符都有一个Unicode值,而java字符串是由Unicode字符组成的序列。因此,java字符串长度的计算方式就是该字符串对象中Unicode字符的数量。java字符串是...
    99+
    2023-07-10
  • javascript如何判断字符串是否是数字
    这篇“javascript如何判断字符串是否是数字”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看...
    99+
    2024-04-02
  • 怎么在javascript中判断是否是字符串
    这期内容当中小编将会给大家带来有关怎么在javascript中判断是否是字符串,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。javascript判断是否是字符串的方法:首先使用typeof操作符返回未经计...
    99+
    2023-06-14
  • javascript如何检查字符串是否包含某个子字符串
    小编给大家分享一下javascript如何检查字符串是否包含某个子字符串,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!JavaScript是什么JavaScript是一种直译式的脚本语言,其解释器被称为JavaScript...
    99+
    2023-06-14
  • javascript如何判断字符串中是否包含某个字符串
    小编给大家分享一下javascript如何判断字符串中是否包含某个字符串,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!javascript判断字符串中是否包含某个...
    99+
    2023-06-14
  • javascript怎么定义字符串
    这篇文章主要介绍了javascript怎么定义字符串,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。方法:1、使用双引号或单引号包含任意长度的...
    99+
    2024-04-02
  • JavaScript怎么截取字符串
    本文小编为大家详细介绍“JavaScript怎么截取字符串”,内容详细,步骤清晰,细节处理妥当,希望这篇“JavaScript怎么截取字符串”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新...
    99+
    2024-04-02
  • javascript怎么反转字符串
    这篇文章主要介绍了javascript怎么反转字符串,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、说明把一个给定的一串字符当作 输入 ,编写一个函数,将传入字符串反转字符...
    99+
    2023-06-15
  • JavaScript字符串如何检索字符
    这篇文章给大家分享的是有关JavaScript字符串如何检索字符的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。具体内容如下var text="abcdefgh...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作