Các cách ép kiểu sang string trong javascript
Các cách ép kiểu sang string trong javascript
5 cách chuyển value sang string trong javascript
const value = 12345;
// Concat Empty String
value + '';
// Template Strings
`${value}`;
// JSON.stringify
JSON.stringify(value);
// toString()
value.toString();
// String()
String(value);
// RESULT
// '12345'
So sánh 5 cách convert value to string
Ok rồi, chúng ta sẽ check xem phương án nào là hiệu quả cho việc "convert value to String javascript". Với một data cho trước:
const string = "hello";
const number = 123;
const boolean = true;
const array = [1, "2", 3];
const object = {one: 1 };
const symbolValue = Symbol('123');
const undefinedValue = undefined;
const nullValue = null;
#Concat Empty String
string + ''; // 'hello'
number + ''; // '123'
boolean + ''; // 'true'
array + ''; // '1,2,3'
object + ''; // '[object Object]'
undefinedValue + ''; // 'undefined'
nullValue + ''; // 'null'
// ⚠️
symbolValue + ''; // ❌ TypeError
Có vẻ khá tốt, ngoại trừ symbolValue bị một error
#Template String
`${string}`; // 'hello'
`${number}`; // '123'
`${boolean}`; // 'true'
`${array}`; // '1,2,3'
`${object}`; // '[object Object]'
`${undefinedValue}`; // 'undefined'
`${nullValue}`; // 'null'
// ⚠️
`${symbolValue}`; // ❌ TypeError
TypeError: Cannot convert a Symbol value to a string
#JSON.stringify()
// ⚠️
JSON.stringify(string); // '"hello"'
JSON.stringify(number); // '123'
JSON.stringify(boolean); // 'true'
JSON.stringify(array); // '[1,"2",3]'
JSON.stringify(object); // '{"one":1}'
JSON.stringify(nullValue); // 'null'
JSON.stringify(symbolValue); // undefined
JSON.stringify(undefinedValue); // undefined
#toString()
string.toString(); // 'hello'
number.toString(); // '123'
boolean.toString(); // 'true'
array.toString(); // '1,2,3'
object.toString(); // '[object Object]'
symbolValue.toString(); // 'Symbol(123)'
// ⚠️
undefinedValue.toString(); // ❌ TypeError
nullValue.toString(); // ❌ TypeError
#String()
String(string); // 'hello'
String(number); // '123'
String(boolean); // 'true'
String(array); // '1,2,3'
String(object); // '[object Object]'
String(symbolValue); // 'Symbol(123)'
String(undefinedValue); // 'undefined'
String(nullValue); // 'null'
Bạn cũng có thể thấy sau 5 cách thì cách cuối cùng dùng String() là cách ngon nhất, có thể handle được null và undefined.,
Kết luận: String() 🏆
Sau khi chỉ cho bạn cách tất cả các phương thức khác nhau xử lý loại giá trị khác nhau. Hy vọng rằng, bạn nhận thức được sự khác biệt và bạn sẽ biết công cụ nào sẽ nhận được trong lần tiếp theo bạn giải quyết mã của mình. Nếu bạn không chắc chắn, String () luôn là cách tốt nhất về việc này.