CodeGym /Khóa học Java /Frontend SELF VI /Ép kiểu trong JavaScript

Ép kiểu trong JavaScript

Frontend SELF VI
Mức độ , Bài học
Có sẵn

1.1 Ép kiểu tường minh

Ép kiểu trong JavaScript là quá trình chuyển đổi giá trị từ một kiểu dữ liệu sang kiểu dữ liệu khác. Có hai loại ép kiểu: ép kiểu tường minh (thủ công) và ép kiểu ngầm định (tự động). Hiểu rõ các quá trình này quan trọng để tránh lỗi và tạo ra mã dễ đoán.

Ép kiểu tường minh, còn gọi là ép kiểu thủ công, được thực hiện bằng cách sử dụng các hàm và phương thức tích hợp của JavaScript. Đây là kiểu ép mà lập trình viên rõ ràng chỉ định kiểu dữ liệu nào nên được chuyển đổi sang kiểu khác.

Các phương thức chính của ép kiểu tường minh:

1. Ép kiểu sang chuỗi

  • Phương thức String(value): chuyển đổi giá trị sang chuỗi
JavaScript
    
      let num = 123;
      let str = String(num);
      console.log(typeof str); // "string"
    
  

  • value.toString(): phương thức của đối tượng, chuyển đổi giá trị sang chuỗi
JavaScript
    
      let bool = true;
      let str = bool.toString();
      console.log(typeof str); // "string"
    
  

2. Ép kiểu sang số

  • Number(value): chuyển đổi giá trị sang số
JavaScript
    
      let str = "456";
      let num = Number(str);
      console.log(typeof num); // "number"
    
  

  • parseInt(value, base): chuyển đổi chuỗi sang số nguyên. Tham số base chỉ định cơ số hệ số
JavaScript
    
      let str = "123";
      let num = parseInt(str, 10);
      console.log(typeof num); // "number"
    
  

  • parseFloat(value): chuyển đổi chuỗi sang số thập phân
JavaScript
    
      let str = "123.45";
      let num = parseFloat(str);
      console.log(typeof num); // "number"
    
  

3. Ép kiểu sang boolean

  • Boolean(value): chuyển đổi giá trị sang boolean
JavaScript
    
      let str = "";
      let bool = Boolean(str);
      console.log(typeof bool); // "boolean"
    
  

1.2 Ép kiểu ngầm định

Ép kiểu ngầm định, còn được gọi là tự động hoặc ẩn, được thực hiện bởi JavaScript tự động khi thực hiện các phép toán với các kiểu dữ liệu khác nhau. Ép kiểu ngầm định có thể dẫn đến kết quả không mong muốn, vì vậy cần hiểu và sử dụng cẩn thận.

1. Ép kiểu sang chuỗi

Quan trọng!

Khi cộng bất kỳ đối tượng nào với chuỗi, JavaScript sẽ cố gắng chuyển đổi nó thành chuỗi.

Ví dụ:

JavaScript
    
      let result = "The number is " + 123;
      console.log(result); // "The number is 123"
    
  

2. Ép kiểu sang số

Quan trọng!

Khi sử dụng bất kỳ toán tử số học nào (ngoại trừ +) với chuỗi chứa số.

JavaScript
    
      let result = "123" - 0;
      console.log(result); // 123 (số)
    
  

Cách nó hoạt động trong thực tế:

JavaScript
    
      let result = "123" - 10;
      console.log(result); // 113 (số)

      let result2 = "123" + 10;
      console.log(result2); // 12310 (chuỗi)
    
  

3. Ép kiểu sang boolean

Khi sử dụng giá trị trong ngữ cảnh logic (toán tử điều kiện, vòng lặp, v.v.).

JavaScript
    
      let value = "hello";

      if (value) {
        console.log("Value is truthy");   // Kết quả: "Value is truthy"
      }
    
  

Ví dụ về chuyển đổi trong ngữ cảnh logic:

  • false, 0, "" (chuỗi rỗng), null, undefined, và NaN được xem là giá trị sai (false)
  • Tất cả các giá trị khác được xem là giá trị đúng (true)
JavaScript
    
      if ("") {
        console.log("This won't be logged.");
      } else {
        console.log('"" is considered false in a boolean context.');
      }

      // '"" is considered false in a boolean context.'
    
  

1.3 Ví dụ về ép kiểu ngầm định

Ví dụ với phép toán số học:

JavaScript
    
      let width = "100";
      let height = "200";

      let area = Number(width) * Number(height); // Ép kiểu tường minh
      console.log(area); // 20000

      let perimeter = (+width) + (+height); // Sử dụng dấu cộng đơn để ép kiểu tường minh
      console.log(perimeter); // 300
    
  

Ví dụ với ngữ cảnh logic:

JavaScript
    
      let userInput = ""; // Chuỗi rỗng

      if (!userInput) {
        console.log("Người dùng không nhập dữ liệu."); // Ép kiểu ngầm định từ chuỗi sang boolean
      }
    
  

Ví dụ với kiểu kết hợp:

JavaScript
    
      let value = "10";
      let increment = 5;

      let result = value + increment; // Ép kiểu ngầm định từ số sang chuỗi
      console.log(result); // "105"

      result = Number(value) + increment; // Ép kiểu tường minh từ chuỗi sang số
      console.log(result); // 15
    
  
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION