JavaScript的資料型別(2)

江南之一葉發表於2016-10-28

今天說說JS中的字串型別---string型別。

  • JS中沒有單獨的字元型別,無論單個的字元還是一個字串都是屬於string型別,string型別在JS中屬於原始型別,並不像其他語言例如Java中那樣,字串是物件,這是一個很顯著的區別。

  • JS中的字串可以用英文的單引號或雙引號包裹起來,如'A', "ABCD",'Hello,world'.

  • JS中的空字串就是''或"",單引號和雙引號之間什麼也沒有,連空格也不能有。

  • 字串型別有一個屬性叫length,它表示這個字串的長度(字元的個數),無論中英文字串中,每個字元都只算一個佔位,(千萬別混淆:中文字元佔2個位元組),

例如:

var s1='abcd';
var s2="中國人民";

console.log(s1.length); //4

console.log(s2.length); //4

JS中的原始型別也有一些屬性和方法,例如這次講的字串型別,還有toUpperCase(),toLowerCase()方法等等。字串型別也可以通過方括號語法,用下標來讀取位於某個位置的字元,如: var s='abcde', 則可以用s[3]來讀取下標是3的字元,即:'d', 字串的下標仍以0開始,和陣列下標一樣的開始位置,但JS中字元型別完全不同於JS中的陣列型別。後者是引用型別,後面再說吧。

其他任何的型別都可以轉化為字串型別,使用函式String(x), 注意:S要大寫,前面不加new運算子,x是要轉化為字串型別的一個值。至於null, undefined,函式等可以轉化為字串型別嗎?當然可以,你自己用String( )函式試試看吧。

如果要判斷一個變數或一個值是否為字串型別,可以使用型別操作符typeof x, 也可以寫成typeof(x), 如果得到的返回是一個字串:'string', 那x就是字串型別了。此處要注意typeof(x)的寫法並不是函式呼叫,只是這種書寫看起來像函式呼叫罷了,別混淆了,提醒你,JS中處處有坑:)

相關文章