javascript类型系统——字符串String类型

Posted 小火柴的蓝色理想

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript类型系统——字符串String类型相关的知识,希望对你有一定的参考价值。

前面的话

  javascript没有表示单个字符的字符型,只有字符串String类型,字符型相当于仅包含一个字符的字符串

  字符串String是javascript基本数据类型,同时javascript也支持String对象,它是一个原始值的包装对象。在需要时,javascript会自动在原始形式和对象形式之间转换。本文将介绍字符串String原始类型及String包装对象

 

定义

  字符串String类型是由引号括起来的一组由16位Unicode字符组成的字符序列

  字符串类型常被用于表示文本数据,此时字符串中的每个元素都被视为一个代码点。每个元素都被认为占有此序列中的一个位置,用非负数值索引这些位置。首字符从位置0开始,第二个字符在位置1,依次类推

  字符串的长度即其中元素的个数。空字符串长度为零,因而不包含任何元素

Unicode编码

  javascript采用UTF-16编码的Unicode字符集,javascript字符串是由一组无符号的16位值组成的序列。最常用的Unicode字符都是通过16位的内码表示,并代表字符串中的单个字符

  [注意]最常用的Unicode字符属于“基本多语种平面”(Basic Multilingual Plane BMP),也称为“零断面”(plan 0), 是Unicode中的一个编码区段,编码介于U+0000——U+FFFF之间

  所有字符都可以写成\'\\uxxxx\'的形式,其中xxxx代表该字符的Unicode编码。比如,\\u00A9代表版权符号

var s = \'\\u00A9\';
s // "©"

  那些不能表示为16位的Unicode字符(U+10000到U+10FFFF之间的字符,长度为32位(即4个字节),而且前两个字节在0xD800到0xDBFF之间,后两个字节在0xDC00到0xDFFF之间),则遵循UTF-16编码规则——用两个16位值组成的一个序列(亦称做“代理项对”)表示。这意味着一个长度为2的javascript字符串(两个16位值)有可能表示一个Unicode字符

  举例来说,U+1D306对应的字符"

以上是关于javascript类型系统——字符串String类型的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript基础 空字符串:string 类型,转成bool类型是 :false Boolean()系统函数

JavaScript中的String类型

JavaScript中的String类型

JavaScript数据类型typeof()和转换

带有“+string”的类型强制在 Javascript 中如何工作? [复制]

JavaScript高级程序设计 ———— String类型