基本資訊和字串連線
JavaScript 中的字串可以用模板文字( 反引號 )`hello`
中的單引號'hello'
,雙引號 Hello
和(來自 ES2015,ES6 )括起來。
var hello = "Hello";
var world = 'world';
var helloW = `Hello World`; // ES2015 / ES6
可以使用 String()
函式從其他型別建立字串。
var intString = String(32); // "32"
var booleanString = String(true); // "true"
var nullString = String(null); // "null"
或者,toString()
可用於將數字,布林值或物件轉換為字串。
var intString = (5232).toString(); // "5232"
var booleanString = (false).toString(); // "false"
var objString = ({}).toString(); // "[object Object]"
也可以使用 String.fromCharCode
方法建立字串。
String.fromCharCode(104,101,108,108,111) //"hello"
允許使用 new
關鍵字建立 String 物件,但不推薦使用,因為它的行為與物件不同,它與原始字串不同。
var objectString = new String("Yes, I am a String object");
typeof objectString;//"object"
typeof objectString.valueOf();//"string"
連線字串
字串連線可以使用+
連線運算子完成,也可以使用 String 物件原型上的內建 concat()
方法完成。
var foo = "Foo";
var bar = "Bar";
console.log(foo + bar); // => "FooBar"
console.log(foo + " " + bar); // => "Foo Bar"
foo.concat(bar) // => "FooBar"
"a".concat("b", " ", "d") // => "ab d"
字串可以與非字串變數連線,但會將非字串變數型別轉換為字串。
var string = "string";
var number = 32;
var boolean = true;
console.log(string + number + boolean); // "string32true"
字串模板
Version >= 6
可以使用模板文字( 反引號 )`hello`
建立字串。
var greeting = `Hello`;
使用模板文字,你可以使用模板文字內的 ${variable}
進行字串插值:
var place = `World`;
var greet = `Hello ${place}!`
console.log(greet); // "Hello World!"
你可以使用 String.raw 將反斜槓放在字串中而不進行修改。
`a\\b` // = a\b
String.raw`a\\b` // = a\\b