Trong bài đăng này, chúng ta sẽ xem xét 4 cách tốt và xấu khác nhau để chuyển đổi tất cả các loại giá trị thành chuỗi.
Chúng tôi sẽ xem xét các giá trị sau đây để chuyển đổi.
console.log(typeof 1);
//number
console.log(typeof true)
//boolean
console.log(typeof null)
//object
console.log(typeof undefined)
//undefined
console.log(Array.isArray([1,2,3]))
//true
console.log(typeof { msg: 'Hi' })
//object
console.log(typeof Symbol('id'));
//symbol
Hàm Stringtích hợp có thể chuyển đổi bất kỳ giá trị nào thành một chuỗi. Nó là tùy chọn tốt nhất để chuyển đổi các kiểu nguyên thủy thành chuỗi.
String(1)
//'1'
String(true)
//'true'
String(null)
//'null'
String(undefined)
//'undefined'
String([1,2,3])
//'1,2,3'
String({ msg: 'Hi'})
//'[object Object]'
String(Symbol('id'))
//'Symbol(id)'
Chuỗi mẫu cho phép các biểu thức được nhúng. Các biểu thức này được chuyển đổi thành chuỗi. Kiểm tra các ví dụ dưới đây.
`${1}`
//'1'
`${true}`
//'true'
`${null}`
//'null'
`${undefined}`
//'undefined'
`${[1,2,3]}`
//'1,2,3'
`${{ msg: 'Hi'}}`
//'[object Object]'
`${Symbol('id')}`
//Cannot convert a Symbol value to a string
Trong JavaScript, tất cả các đối tượng kế thừa từ Object.prototype. Điều đó có nghĩa là tất cả họ đều có quyền truy cập vào các phương thức được lưu trữ trên đối tượng đó bao gồm toString.
Đây là kết quả của việc gọi toStringmột đối tượng hoặc một mảng.
[1,2,3].toString()
//'1,2,3'
{ msg: 'Hi'}.toString()
//'[object Object]'
const prototype = {
toString(){
return JSON.stringify(this);
}
}
const obj = Object.create(prototype);
obj.msg = 'Hi';
console.log(obj.toString());
//''{"msg":"Hi"}''
Điều thú vị là chúng ta có thể gọi toStringphương thức trên các nguyên thủy như số và boolean. Kiểm tra mã bên dưới.
(1).toString()
//'1'
true.toString()
//'true'
Symbol('id').toString()
//'Symbol(id)'
Đối với tất cả các nguyên thủy ngoại trừ nullvà undefinedJavaScript có các hàm trình bao bọc tích hợp sẵn như Numberhoặc Boolean. Nó sử dụng các hàm tạo hàm này để tạo các đối tượng và sau đó gọi toStringphương thức trên các đối tượng mới được tạo. Một cái gì đó như thế này xảy ra ở hậu trường:
new Number(1).toString()
null.toString()
//Cannot read property 'toString' of null
undefined.toString()
//Cannot read property 'toString' of undefined
Tùy chọn cuối cùng để chuyển đổi thành chuỗi là thực hiện nối chuỗi. Kiểm tra các ví dụ sau.
'' + 1
//'1'
'' + true
//'true'
'' + null
//'null'
'' + undefined
//'undefined'
'' + [1,2,3]
//'1,2,3'
'' + { msg: 'Hi'}
//'[object Object]'
Đây là những gì sẽ xảy ra khi thực hiện nối thay vì thêm số.
1 + '2'
//'12'
console.log('' + Symbol('id'))
//Cannot convert a Symbol value to a string
Đó là tất cả những gì tôi muốn chia sẻ về chuyển đổi chuỗi. Cảm ơn vì đã đọc.
Khi bạn gửi yêu cầu tới facebook.com, máy tính của bạn sẽ tra cứu tên miền để dịch tên miền đó thành địa chỉ IP để máy tính của bạn có thể thực hiện kết nối đó.
Giới thiệu Đột quỵ là một trường hợp cấp cứu y tế có thể tấn công bất kỳ ai vào bất kỳ lúc nào. Nó xảy ra khi lưu lượng máu đến một phần của não bị gián đoạn, dẫn đến mất chức năng não đột ngột.
Nếu chúng ta muốn tiếp tục phát triển trên hành tinh này, chúng ta sẽ phải có những cuộc đối thoại nguy hiểm. Những thứ thách thức những gì chúng ta đã làm, những gì chúng ta đang làm và những gì chúng ta hiện đang chuẩn bị tiếp tục làm (hoặc đang có kế hoạch làm).
Bạn có thể là Điều tra viên OSINT, Người chơi CTF hoặc đơn giản là người nhận được các cuộc gọi spam. Ai đó đang cố xác minh số bạn đã thấy trong quảng cáo.
Cái cũ giờ lại mới và cái từng lấp lánh sáng bóng giờ trở nên buồn tẻ. Tôi không nói về việc quần jean JNCO đang trở lại trong giới trẻ sành điệu ở trung tâm thành phố cùng với các mốt cuối thập niên 1990 khác.
Trong thế giới kết nối ngày nay, mối đe dọa tấn công mạng phổ biến hơn bao giờ hết. Tội phạm mạng và các tác nhân quốc gia liên tục tìm cách khai thác các lỗ hổng và đánh cắp dữ liệu có giá trị, gây rủi ro đáng kể cho các tổ chức thuộc mọi quy mô.