Trong lập trình, chuyển đổi kiểu dữ liệu là quá trình chuyển đổi dữ liệu từ một kiểu sang kiểu khác. Ví dụ: chuyển đổi dữ liệu kiểu String
thành kiểu Number
.
Có hai loại chuyển đổi kiểu dữ liệu trong JavaScript.
- Chuyển đổi Ngầm định – chuyển đổi kiểu tự động
- Chuyển đổi Rõ ràng – chuyển đổi kiểu bằng tay
Chuyển đổi Kiểu Ngầm định trong JavaScript
Trong một số tình huống, JavaScript tự động chuyển đổi kiểu dữ liệu này sang kiểu khác (đúng kiểu). Điều này được gọi là chuyển đổi ngầm định.
Ví dụ 1: Chuyển đổi Ngầm định thành Kiểu String
// numeric string used with + gives string type
let result;
result = '3' + 2;
console.log(result) // "32"
result = '3' + true;
console.log(result); // "3true"
result = '3' + undefined;
console.log(result); // "3undefined"
result = '3' + null;
console.log(result); // "3null"
Lưu ý : Khi một số được thêm vào một chuỗi, JavaScript chuyển đổi số thành chuỗi trước khi nối chuỗi.
Ví dụ 2: Chuyển đổi Ngầm định thành Kiểu Number
// numeric string used with - , / , * results number type
let result;
result = '4' - '2';
console.log(result); // 2
result = '4' - 2;
console.log(result); // 2
result = '4' * 2;
console.log(result); // 8
result = '4' / 2;
console.log(result); // 2
Ví dụ 3: Kết quả Chuỗi Phi-số thành NaN
// non-numeric string used with - , / , * results to NaN
let result;
result = 'hello' - 'world';
console.log(result); // NaN
result = '4' - 'hello';
console.log(result); // NaN
Ví dụ 4: Chuyển đổi Kiểu Boolean Ngầm định thành Kiểu Number
// if boolean is used, true is 1, false is 0
let result;
result = '4' - true;
console.log(result); // 3
result = 4 + true;
console.log(result); // 5
result = 4 + false;
console.log(result); // 4
Lưu ý: JavaScript xem xét 0 là false
và tất cả số khác không là true
. Và nếu true
được chuyển đổi thành số, kết quả luôn là 1.
Ví dụ 5: Chuyển đổi null thành Kiểu Number
// null is 0 when used with number
let result;
result = 4 + null;
console.log(result); // 4
result = 4 - null;
console.log(result); // 4
Ví dụ 6: undefined sử dụng với số, boolean hoặc null
// Arithmetic operation of undefined with number, boolean or null gives NaN
let result;
result = 4 + undefined;
console.log(result); // NaN
result = 4 - undefined;
console.log(result); // NaN
result = true + undefined;
console.log(result); // NaN
result = null + undefined;
console.log(result); // NaN
Chuyển đổi Kiểu Rõ ràng trong JavaScript
Bạn cũng có thể chuyển đổi một kiểu dữ liệu sang kiểu khác theo nhu cầu của bạn. Chuyển đổi kiểu mà bạn thực hiện thủ công được gọi là chuyển đổi kiểu rõ ràng.
Trong JavaScript, chuyển đổi kiểu rõ ràng được thực hiện bằng cách sử dụng các phương thức tích hợp sẵn.
Dưới đây là một số phương thức thông thường để thực hiện chuyển đổi rõ ràng.
1. Chuyển đổi sang Số Rõ ràng
Để chuyển đổi chuỗi số và giá trị boolean thành số, bạn có thể sử dụng Number()
. Ví dụ,
let result;
// string to number
result = Number('324');
console.log(result); // 324
result = Number('324e-1')
console.log(result); // 32.4
// boolean to number
result = Number(true);
console.log(result); // 1
result = Number(false);
console.log(result); // 0
Trong JavaScript, chuỗi rỗng và giá trị null
trả về 0. Ví dụ,
let result;
result = Number(null);
console.log(result); // 0
let result = Number(' ')
console.log(result); // 0
Nếu một chuỗi không hợp lệ thành số, kết quả sẽ là NaN
. Ví dụ,
let result;
result = Number('hello');
console.log(result); // NaN
result = Number(undefined);
console.log(result); // NaN
result = Number(NaN);
console.log(result); // NaN
Lưu ý : Bạn cũng có thể tạo ra số từ chuỗi bằng cách sử dụng parseInt()
, parseFloat()
, toán tử unary +
và Math.floor()
. Ví dụ,
let result;
result = parseInt('20.01');
console.log(result); // 20
result = parseFloat('20.01');
console.log(result); // 20.01
result = +'20.01';
console.log(result); // 20.01
result = Math.floor('20.01');
console.log(result); // 20
2. Chuyển đổi sang Chuỗi Rõ ràng
Để chuyển đổi các kiểu dữ liệu khác thành chuỗi, bạn có thể sử dụng String()
hoặc toString()
. Ví dụ,
//number to string
let result;
result = String(324);
console.log(result); // "324"
result = String(2 + 4);
console.log(result); // "6"
//other data types to string
result = String(null);
console.log(result); // "null"
result = String(undefined);
console.log(result); // "undefined"
result = String(NaN);
console.log(result); // "NaN"
result = String(true);
console.log(result); // "true"
result = String(false);
console.log(result); // "false"
// using toString()
result = (324).toString();
console.log(result); // "324"
result = true.toString();
console.log(result); // "true"
Lưu ý : String()
chấp nhận null
và undefined
và chuyển chúng thành chuỗi. Tuy nhiên, toString()
sẽ gây lỗi khi null
được truyền vào.
3. Chuyển đổi sang Boolean Rõ ràng
Để chuyển đổi các kiểu dữ liệu khác thành boolean, bạn có thể sử dụng Boolean().
Trong JavaScript, undefined
, null
, 0
, NaN
, ''
được chuyển đổi thành false
. Ví dụ,
let result;
result = Boolean('');
console.log(result); // false
result = Boolean(0);
console.log(result); // false
result = Boolean(undefined);
console.log(result); // false
result = Boolean(null);
console.log(result); // false
result = Boolean(NaN);
console.log(result); // false
Tất cả các giá trị khác đều cho kết quả true
. Ví dụ,
result = Boolean(324);
console.log(result); // true
result = Boolean('hello');
console.log(result); // true
result = Boolean(' ');
console.log(result); // true
Bảng Chuyển đổi Kiểu Dữ liệu trong JavaScript
Bảng dưới đây hiển thị quá trình chuyển đổi của các giá trị khác nhau thành Chuỗi, Số và Boolean trong JavaScript.
Giá trị | Chuyển đổi chuỗi | Chuyển đổi số | Chuyển đổi boolean |
---|---|---|---|
“1” | 1 | true |
|
“0” | 0 | false |
|
“1” | “1” | 1 | true |
“0” | "0" |
0 | true |
“ten” | "ten" |
NaN |
true |
true |
“true” | 1 | true |
false |
“false” | 0 | false |
null |
“null” | 0 | false |
undefined |
“undefined” | NaN |
false |
” | “” | 0 | false |
‘ ‘ | ” “ | 0 | true |
Bạn sẽ tìm hiểu về việc chuyển đổi các đối tượng và mảng sang các kiểu dữ liệu khác trong các bài học sau.
- Bài viết này được xuất bản ban đầu tại:https://www.programiz.com/
Cảm ơn bạn!