有兩種方法:
1.對於boolean, number, string類型,可調用toString()方法
2.用String(var)方法
其中,第二種方法使用范圍更廣,可將沒有toString()方法的undefined和null類型強制轉換成字符串。
// 轉換成字符串 // boolean轉換成string var foo = true; console.log(`foo.toString(): ${foo.toString()}`); // foo.toString(): true var foo = false; console.log(`foo.toString(): ${foo.toString()}`); // foo.toString(): false // number轉換成string var foo = 100; console.log(`foo.toString(): ${foo.toString()}`); // foo.toString(): 100 var foo = 023; console.log(`foo.toString(): ${foo.toString()}`); // foo.toString(): 19 var foo = 0x1F; console.log(`foo.toString(): ${foo.toString()}`); // foo.toString(): 31 // Number.NaN console.log(`Number.NaN.toString(): ${Number.NaN.toString()}`); // Number.NaN.toString(): NaN // undefined轉換成string console.log(`String(undefined): ${String(undefined)}`); // String(undefined): undefined var fooBar; // undefined沒有toString()方法 // console.log(fooBar.toString()); // Uncaught TypeError: Cannot read property 'toString' of undefined // null轉換成string console.log(`String(null): ${String(null)}`); // String(null): null var foooBar = null; // null沒有toString()方法 // console.log(foooBar.toString()); // Uncaught TypeError: Cannot read property 'toString' of null // 其他 // console.log(`foo.toSource(): ${foo.toSource()}`); // Uncaught TypeError: foo.toSource is not a function console.log(`foo.valueOf(): ${foo.valueOf()}`); // foo.valueOf(): false console.log(`foo.constructor: ${foo.constructor}`); // foo.constructor: function Boolean() { [native code] } var foo = new Boolean(false); // console.log(`foo.toSource(): ${foo.toSource()}`); // Uncaught TypeError: foo.toSource is not a function console.log(`foo.valueOf(): ${foo.valueOf()}`); // foo.valueOf(): false console.log(`foo.constructor: ${foo.constructor}`); // foo.constructor: function Boolean() { [native code] }