Chuyển đổi loại JavaScript (truyền)

Tìm hiểu kiến thức cơ bản về Chuyển đổi loại JavaScript

Ngay cả khi JavaScript là một ngôn ngữ được đánh máy lỏng lẻo, bạn có thể cần phải chuyển đổi một giá trị từ một kiểu này sang kiểu khác.

Trong JavaScript, chúng ta có các kiểu nguyên thủy:

và loại đối tượng:

(thêmnullundefined, nhưng không có ích gì khi truyền từ / tới chúng)

Ví dụ: bạn có thể muốn chuyển đổi:

  • một số thành một chuỗi
  • một chuỗi thành một số
  • một chuỗi đến một boolean
  • một boolean cho một chuỗi

…và như thế.

Dưới đây là các kỹ thuật bạn có thể sử dụng để chuyển đổi từ loại này sang loại khác. Tôi bao gồm các trường hợp phổ biến nhất.

Chuyển đổi thành chuỗi

Nói chung, việc chuyển đổi từ bất kỳ thứ gì thành chuỗi thường là vấn đề gọitoString()trên bất kỳ giá trị nào và JavaScript sẽ tạo một giá trị chuỗi tương ứng với kiểu đó. Hoặc bạn có thể chuyển bất kỳ giá trị nào vàoString()chức năng toàn cầu.

Truyền từ số sang chuỗi

Sử dụng hàm toàn cục Chuỗi hoặc kiểu SốtoString()phương pháp:

String(10) //"10"
(10).toString() //"10"

Truyền từ boolean sang chuỗi

Sử dụng hàm toàn cục chuỗi hoặc kiểu BooleantoString()phương pháp:

String(true) //"true"
true.toString() //"true"
String(false) //"false"
false.toString() //"false"

Truyền từ ngày sang chuỗi

Sử dụng hàm toàn cầu Chuỗi hoặc loại NgàytoString()phương pháp:

String(new Date('2019-01-22'))
//"Tue Jan 22 2019 01:00:00 GMT+0100 (Central European Standard Time)"

(new Date('2019-01-22')).toString()
//"Tue Jan 22 2019 01:00:00 GMT+0100 (Central European Standard Time)"

Các trường hợp đặc biệt với chuỗi

String(null) //"null"
String(undefined) //"undefined"
String(NaN) //"NaN"

Chuyển đổi thành số

Truyền từ chuỗi sang số

Chúng ta có thể làm điều này bằng cách sử dụngNumber()hàm toàn cục, là một hàm tạo. Chúng ta có thể chuyển nó thành một chuỗi và JavaScript sẽ tìm ra cách chuyển nó thành một số:

Number("1") //1
Number("0") //0

Các chuỗi được cắt bớt trước khi được chuyển đổi thành số:

Number(" 1 ") //1

chuyển một chuỗi rỗng mặc định thành 0:

Number("") //0

và để làm việc với số thập phân, bạn sử dụng dấu chấm:

Number("12.2")

Nếu một chuỗi chứa các ký tự không hợp lệ, nó sẽ tạo ra mộtNaN.

Đây là những điều cơ bản của việc chuyển đổi thành số, nhưng tôi cung cấp thêm rất nhiều chi tiết trongcách chuyển đổi một chuỗi thành một số trong JavaScript. Có những cách khác để tạo số từ chuỗi bao gồmparseInt(),parseFloat(),Math.floor(), hoàng đế+nhà điều hành.

Truyền từ boolean sang số

Giống như chúng ta đã làm đối với chuỗi, chuyển một boolean tớiNumber()sẽ trả về 0 hoặc 1:

Number(true) //1
Number(false) //0

Truyền từ ngày sang số

Nếu bạn chuyển một đối tượng Ngày đếnNumber(), nó sẽ trả về dấu thời gian ngày, là ngày tốt nhất để chuyển đổi số mà bạn có thể nhận được.

Các trường hợp đặc biệt có số

Number(null) //0
Number(undefined) //NaN
Number(NaN) //NaN

Chuyển đổi sang boolean

Bất kỳ giá trị nào cũng có thể được chuyển đổi thành boolean, chuyển nó tớiBoolean().

Tất cả các giá trị sẽ giải quyết thànhtruengoại trừ:

Boolean(false) //false
Boolean(0) //false
Boolean(NaN) //false
Boolean("") //false
Boolean(null) //false
Boolean(undefined) //false

Tải xuống miễn phí của tôiSổ tay dành cho Người mới bắt đầu JavaScript


Các hướng dẫn js khác: