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()系统函数