javascript除了object外一共有5個原始類型:布爾值、數字、字符串、null和undefined。(其中null類型進行typeof操作結果爲“object”)
字符串原始類型和封裝對象異同
在某些地方,String對象的行爲和封裝的字符串值類似,如字符串連接:
var str = new String("learn");
str + " javascript" = "learn javascript";
如提取索引的值:
var str = new String("learn");
str[2] = a;
不同之處在於,原始字符串type爲string,String對象的type爲object。
typeof "learn" = string;
var str = new String("learn");
typeof str = object;
兩個String對象比較,可以看出new的String對象,雖然值都等於”learning”,但str1和str2並不相等。
var str1 = new String("learning");
var str2 = new String("learning");
str1 === str2 // false
str1 == str2 // false
原始的字符串類型可以調用String原型對象裏的方法,如toUpperCase:
"learn".toUpperCase() = LEARN;
可以對原始字符串類型設置屬性值,但對原始字符串沒有任何影響:
"learn".testProperty = 3;
"learn".testProperty = undefined;
這是因爲每次原始字符串類型調用某個方法時,會進行隱式封裝產生一個新的String對象,所以不會對之後的字符串進行影響。
end…