原文地址:https://wangdoc.com/javascript/
定義
對象是JavaScript語言最主要的數據類型,三種原始類型的值--數值、字符串、布爾值--在一定條件下,也會自動轉為對象,也就是原始類型的包裝對象。所謂包裝對象,就是分別與數值、字符串、布爾值相對應的Number、String、Boolean三個原生對象。這三個原生對象可以把原始類型的值變成對象。
實例方法
三種包裝對象各自提供了許多實例方法。以下介紹它們共有的、從Object對象繼承的方法:valueOf和toString。
valueOf()
valueOf方法返回包裝對象實例對應的原始類型的值。
toString()
toString返回對應的字符串形式。
原始類型與實例對象的自動轉換
原始類型的值可以自動當做包裝對象調用,即調用包裝對象的屬性和方法。這時,JavaScript引擎會自動將原始類型的值轉為包裝對象實例,在使用后立刻銷毀實例。自動轉換生成的包裝對象是只讀的,無法修改。
var s = "hello world";
s.x = 123;
s.x // undefined
自定義方法
除了原生的實例方法,包裝對象還可以自定義方法和屬性,供原始類型的值直接調用。
String.prototype.double = function() {return this.valueOf() + this.valueOf();
};
"abc".double();
// abcabc
但是,這種自定義的方法和屬性,只能定義在包裝對象的原型上,如果直接對原始類型的變量添加屬性,則無效。