前面的話
JS中的字符串類型是由引號(hào)括起來(lái)的一組由16位Unicode字符組成的字符序列。在過(guò)去,16位足以包含任何字符,直到Unicode引入了擴(kuò)展字符集,編碼規(guī)則不得不進(jìn)行變更。本文將詳細(xì)介紹ES6關(guān)于Unicode的相關(guān)擴(kuò)展
概述
Unicode的目標(biāo)是為世界上每一個(gè)字符提供唯一標(biāo)識(shí)符,唯一標(biāo)識(shí)符稱為碼位或碼點(diǎn)(code point)。而這些碼位是用于表示字符的,又稱為字符編碼(character encode)
在ES6之前, JS 的字符串以 16 位字符編碼(UTF-16)為基礎(chǔ)。每個(gè) 16 位序列(相當(dāng)于2個(gè)字節(jié))是一個(gè)編碼單元(code unit),可簡(jiǎn)稱為碼元,用于表示一個(gè)字符。字符串所有的屬性與方法(如length屬性與charAt() 方法等)都是基于16位序列
【BMP】