標準庫:String 物件
阿新 • • 發佈:2020-10-11
標準庫:String 物件
概述
String
物件是 JavaScript 原生提供的三個包裝物件之一,用來生成字串物件。
var s1 = 'abc';
var s2 = new String('abc');
typeof s1 // "string"
typeof s2 // "object"
s2.valueOf() // "abc"
上面程式碼中,變數s1
是字串,s2
是物件。由於s2
是字串物件,s2.valueOf
方法返回的就是它所對應的原始字串。
字串物件是一個類似陣列的物件(很像陣列,但不是陣列)。
new String('abc') // String {0: "a", 1: "b", 2: "c", length: 3} (new String('abc'))[1] // "b"
上面程式碼中,字串abc
對應的字串物件,有數值鍵(0
、1
、2
)和length
屬性,所以可以像陣列那樣取值。
除了用作建構函式,String
物件還可以當作工具方法使用,將任意型別的值轉為字串。
String(true) // "true"
String(5) // "5"
上面程式碼將布林值true
和數值5
,分別轉換為字串。
靜態方法
String.fromCharCode()
String
物件提供的靜態方法(即定義在物件本身,而不是定義在物件例項的方法),主要是String.fromCharCode()
。該方法的引數是一個或多個數值,代表 Unicode 碼點,返回值是這些碼點組成的字串。
String.fromCharCode() // "" String.fromCharCode(97) // "a" String.fromCharCode(104, 101, 108, 108, 111) // "hello"
上面程式碼中,String.fromCharCode
方法的引數為空,就返回空字串;否則,返回引數對應的 Unicode 字串。
注意,該方法不支援 Unicode 碼點大於0xFFFF
的字元,即傳入的引數不能大於0xFFFF
(即十進位制的 65535)。
String.fromCharCode(0x20BB7)
// "ஷ"
String.fromCharCode(0x20BB7) === String.fromCharCode(0x0BB7)
// true
上面程式碼中,String.fromCharCode
引數0x20BB7
大於0xFFFF
,導致返回結果出錯。0x20BB7
對應的字元是漢字