Chuyển đổi loại JavaScript

Trong hướng dẫn này, bạn sẽ tìm hiểu về chuyển đổi kiểu trong JavaScript với sự trợ giúp của các ví dụ.

Trong lập trình, chuyển đổi kiểu là quá trình chuyển đổi dữ liệu từ kiểu này sang kiểu khác. Ví dụ: chuyển đổi Stringdữ liệu sang Number.

Có hai loại chuyển đổi kiểu trong JavaScript.

  • Implicit Conversion – automatic type conversion
  • Explicit Conversion – manual type conversion

Chuyển đổi ngầm định của JavaScript

Trong một số tình huống nhất định, JavaScript tự động chuyển đổi kiểu dữ liệu này sang kiểu dữ liệu khác (thành kiểu phù hợp). Đây được gọi là chuyển đổi ngầm định.

Ví dụ 1: Chuyển đổi ngầm định thành chuỗi

// 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 sẽ chuyển đổi số đó thành một chuỗi trước khi nối.

Ví dụ 2: Chuyển đổi ngầm định thành số

// 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 không phải số đến 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 Boolean Ngầm định thành Số

// 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 coi 0 là falsevà tất cả các số khác 0 là true. Và, nếu trueđược chuyển đổi thành một số, kết quả luôn là 1.

Ví dụ 5: Chuyển đổi null thành Số

// 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 được sử dụng với number, 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 rõ ràng JavaScript

Bạn cũng có thể chuyển đổi kiểu dữ liệu này sang kiểu dữ liệu khác theo nhu cầu của mình. Chuyển đổi loại mà bạn thực hiện theo cách thủ công được gọi là chuyển đổi loại rõ ràng.

Trong JavaScript, các chuyển đổi kiểu rõ ràng được thực hiện bằng các phương pháp tích hợp sẵn.

Dưới đây là một số phương pháp chuyển đổi rõ ràng phổ biến.

1. Chuyển đổi thành số một cách 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, các chuỗi và nullgiá trị trống 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 là một số không hợp lệ, 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 các số từ chuỗi sử dụng parseInt()parseFloat(), điều hành 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 thành chuỗi một cách 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()mất nullvà undefinedvà chuyển đổi chúng thành chuỗi. Tuy nhiên, toString()đưa ra lỗi khinull are passed.

3. Chuyển đổi sang Boolean một cách 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, undefinednull0NaN''cải để 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 cho 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 loại JavaScript

Bảng hiển thị việc chuyển đổi các giá trị khác nhau thành Chuỗi, Số và Boolean trong JavaScript.

ValueString ConversionNumber ConversionBoolean Conversion
1“1”1true
0“0”0false
“1”“1”1true
“0”"0"0true
“ten”"ten"NaNtrue
true“true”1true
false“false”0false
null“null”0false
undefined“undefined”NaNfalse
“”0false
‘ ‘” “0true

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ướng dẫn sau.









Gõ tìm kiếm nhanh...