Các chuỗi thường được sử dụng để lưu trữ và thao tác dữ liệu văn bản. Tuy nhiên, bạn cũng có thể lưu trữ các ký tự đặc biệt và dữ liệu số trong chuỗi. e. g. , địa chỉ hoặc id email, chứa nhiều loại dữ liệu
Chuỗi được tạo bằng cách đặt dữ liệu bên trong dấu ngoặc kép. JavaScript và các ngôn ngữ lập trình khác cho phép người dùng giữ dữ liệu trong dấu ngoặc kép [" "] hoặc dấu ngoặc đơn [' ']. Chương này sẽ chỉ cho bạn cách in chuỗi có dấu ngoặc kép
Ví dụ
Trích dẫnVí dụ Trích dẫn đơn [' ']'Đây là một chuỗi bên trong dấu nháy đơn. 'Trích dẫn kép [" "]"Đây là một chuỗi bên trong dấu ngoặc kép. "Các dấu ngoặc đơn và dấu ngoặc kép này không in bằng chuỗi trên trình duyệt web. Nhưng đôi khi chúng ta cũng cần in các trích dẫn bằng chuỗi. Một số từ như nó, b'day, bảy giờ, không thể, v.v. Đầu tiên, hãy xem cách một chuỗi hiển thị đơn giản trên trang web
Ví dụ. Chuỗi không có dấu ngoặc kép
Xem ví dụ đơn giản về in các chuỗi không có dấu ngoặc đơn và dấu ngoặc kép
sao chép mã
Kiểm tra nó ngay bây giờđầu ra
A string inside single quote A string inside double quote
Ở đây, bạn có thể thấy rằng cả hai chuỗi đã được in mà không có dấu ngoặc kép
Đặt dấu ngoặc kép
Bạn có thể sử dụng dấu gạch chéo ngược [\] với từ hoặc chuỗi cụ thể để thoát khỏi dấu ngoặc kép. Hãy nhớ một điều; . Điều này có nghĩa là nếu bạn cố gắng sử dụng một dấu ngoặc đơn bên trong một chuỗi, thì các dấu ngoặc kép bên ngoài phải là dấu ngoặc kép. Tương tự, nếu bạn cố gắng sử dụng dấu nháy kép bên trong một chuỗi, thì dấu ngoặc kép bên ngoài phải là dấu nháy đơn
Hãy xem nó sẽ được thực hiện như thế nào trong JavaScript
Ví dụ. In dấu ngoặc kép bằng dấu gạch chéo ngược [\]
Trong ví dụ này, chúng tôi sẽ sử dụng dấu gạch chéo ngược [\] để thoát khỏi dấu ngoặc kép
sao chép mã
Kiểm tra nó ngay bây giờđầu ra
It's nine o' clock in the morning. Mukesh Ambani is "the richest man" of India.
JavaScript hiểu sai chuỗi nếu bạn viết nó dưới dạng chuỗi bên dưới
Ghi chú. Đừng quên chèn dấu gạch chéo ngược khi thoát khỏi dấu ngoặc kép, đặc biệt khi dấu ngoặc kép bên ngoài và bên trong giống nhau
Ví dụ. In trích dẫn bằng cú pháp Chuỗi thay thế
Trong ví dụ này, chúng tôi sẽ sử dụng dấu ngoặc kép thay thế bên trong và bên ngoài chuỗi. Điều này có nghĩa là điều tương tự có thể được thực hiện với nó. Xem ví dụ dưới đây, nó sẽ được thực hiện như thế nào
sao chép mã
Kiểm tra nó ngay bây giờđầu ra
It's nine o' clock in the morning. Always say "Thank you" when anyone helps you.
Ngoài tất cả các phương pháp này, còn có một cách khác để hiển thị trích dẫn đơn và trích dẫn kép trên trình duyệt web
Ví dụ. Sử dụng dấu nháy đơn để in trích dẫn đơn
Trong ví dụ này, chúng tôi sẽ sử dụng dấu nháy đơn ở giữa chuỗi trích dẫn đơn. Xem ví dụ dưới đây, nó sẽ được thực hiện như thế nào
sao chép mã
Kiểm tra nó ngay bây giờđầu ra
It's an example of printing the single quote with string.
Ví dụ. Sử dụng " để in trích dẫn kép
Trong JavaScript, bạn có thể sử dụng " with a string để hiển thị chuỗi có dấu ngoặc kép. Với ", bạn có thể sử dụng bất kỳ trích dẫn nào. Xem ví dụ bên dưới
Khi làm việc với JavaScript, chắc hẳn đã có lúc bạn thắc mắc là. "Nên sử dụng dấu nháy đơn hay dấu nháy kép" chưa? . dấu ngoặc đơn hay dấu ngoặc kép" chưa? Mình đoán chắc là bạn đã gặp vấn đề này rồi. dấu ngoặc đơn hay dấu ngoặc kép" chưa? Mình đoán chắc là bạn đã gặp vấn đề này rồi
Nội dung chính Hiển thị
- I. Lời nói đầu
- II. Nội dung
- III. Tổng kết
Để trả lời cho câu hỏi trên thì ta phải hiểu là 'dấu nháy đơn' và "dấu ngoặc kép" nó làm việc gì, sự khác nhau giữa chúng. Và trong bài viết này chúng ta cùng tìm hiểu về nó nhé. Được, đi thôi
II. Nội dung
Trong JavaScript, cả dấu ngoặc đơn [''] và dấu ngoặc kép [""] đều được sử dụng thường xuyên để tạo chuỗi ký tự. [''] và dấu ngoặc kép [""] được sử dụng thường xuyên để tạo một chuỗi ký tự. [''] và dấu ngoặc kép [""] được sử dụng thường xuyên để tạo một chuỗi ký tự
“Dấu nháy đơn và nháy kép hoạt động giống hệt nhau trong JavaScript. ” — Matthew Holman trong CloudBoost
Dấu nháy đơn và dấu nháy kép hoạt động giống nhau trong JavaScript. Ngoại trừ, có một điểm khác biệt duy nhất là sử dụng dấu gạch chéo ngược [\] trong đó
'Dấu nháy đơn "thoát" dấu nháy đơn'
Khi sử dụng dấu nháy đơn [''] để tạo một Chuỗi ký tự, ký tự dấu nháy đơn cần phải thoát bằng cách sử dụng dấu gạch chéo ngược [']. Ví dụ
const wittyAI = 'I am \'not\' sentient.'
const wittyReply = 'No, you\'re definitely not "sentient."'
console.log[wittyAI,wittyReply]
------------------------------------------------------------------
Output: I am 'not' sentient. No, you're definitely not "sentient."
“Dấu ngoặc kép 'thoát' dấu ngoặc kép"
Khi sử dụng dấu ngoặc kép để tạo một chuỗi ký tự, ký tự dấu ngoặc kép cần phải thoát bằng dấu backslack ["]. Ví dụ
const _wittyAI = "I think therefore I 'am' -- sentient."
const _wittyReply = "No, you only \"think\", so you aren't."
console.log[_wittyAI,_wittyReply]
------------------------------------------------------------------
Output: I think therefore I 'am' -- sentient. No, you only "think", so you aren't.
"Trống rỗng" === 'Trống rỗng'
Cả dấu ngoặc đơn và dấu ngoặc kép đều có thể đại diện cho một chuỗi trống không chứa bất kỳ ký tự nào
const empty = ""
const alsoEmpty = ''
console.log[empty === alsoEmpty] // true [both are empty string]
console.log[empty.length] // 0
console.log[empty === false] // false
console.log[empty === 0] // false
console.log[empty == false] // true [falsy comparison]
console.log[empty == 0] // true [falsy comparison]
Là
const _wittyAI = "I think therefore I 'am' -- sentient."
const _wittyReply = "No, you only \"think\", so you aren't."
console.log[_wittyAI,_wittyReply]
------------------------------------------------------------------
Output: I think therefore I 'am' -- sentient. No, you only "think", so you aren't.
2 một giải pháp tốt hơn?Có một tính năng mới trong ES6 được gọi là mẫu chữ hoặc chữ đánh dấu ngược hoặc chữ đánh dấu ngược [``], sử dụng nó thay thế cho dấu nháy đơn và dấu nháy kép. mẫu chữ hoặc chữ backtick hoặc chữ ngược [``], sử dụng nó thay thế cho dấu nháy đơn và dấu nháy kép. mẫu chữ hoặc chữ backtick hoặc chữ ngược [``], sử dụng nó thay thế cho dấu nháy đơn và dấu nháy kép
“Chữ mẫu là chữ chuỗi cho phép các biểu thức được nhúng. Bạn có thể sử dụng các tính năng nội suy chuỗi và chuỗi nhiều dòng với chúng. ” - Tài liệu MDN
Backticks là một String Literal cho phép nhúng các biểu thức, có thể viết chuỗi thành nhiều dòng và các chuỗi tính năng suy diễn
Sử dụng backtick [``] có 3 lợi ích lớn
- Nối chuỗi dễ dàng hơn [nội suy biến]
- Không cần thoát [
0] dấu ngoặc đơn hoặc dấu ngoặc képconst _wittyAI = "I think therefore I 'am' -- sentient." const _wittyReply = "No, you only \"think\", so you aren't." console.log[_wittyAI,_wittyReply] ------------------------------------------------------------------ Output: I think therefore I 'am' -- sentient. No, you only "think", so you aren't.
It's nine o' clock in the morning. Mukesh Ambani is "the richest man" of India.0
- Có thể viết chuỗi thành nhiều dòng mà không cần sử dụng
1const _wittyAI = "I think therefore I 'am' -- sentient." const _wittyReply = "No, you only \"think\", so you aren't." console.log[_wittyAI,_wittyReply] ------------------------------------------------------------------ Output: I think therefore I 'am' -- sentient. No, you only "think", so you aren't.
It's nine o' clock in the morning. Mukesh Ambani is "the richest man" of India.2
Backticks cũng làm tốt với HTML
It's nine o' clock in the morning. Mukesh Ambani is "the richest man" of India.3
Về tốc độ của Backticks Literal cũng tương đương với các String Literal khác [tại đây], cho dù có biên dịch nó bằng Babel hay không. Với những điểm mạnh nêu trên, vậy tại sao không sử dụng backticks trong tất cả các trường hợp?backticks trong tất cả các trường hợp?backticks trong tất cả các trường hợp?
Đừng quên JSON
JSON - định dạng lưu trữ dữ liệu nhẹ - chỉ cho phép sử dụng dấu ngoặc kép. Vì thế nếu sao chép qua lại từ JavaScript sang tệp JSON, chỉ cần sử dụng dấu ngoặc kép sẽ giúp ta thống nhất
const _wittyAI = "I think therefore I 'am' -- sentient."
const _wittyReply = "No, you only \"think\", so you aren't."
console.log[_wittyAI,_wittyReply]
------------------------------------------------------------------
Output: I think therefore I 'am' -- sentient. No, you only "think", so you aren't.
0Như trong đoạn mã ví dụ trên, dấu nháy đơn gây ra lỗi cú pháp cho hàm JSON. phân tích cú pháp []. Lý do kỹ thuật liên quan đến đặc tả JSON RFC 7159, yêu cầu dấu ngoặc kép cho chuỗi ký tự JSON
Có điều gì sai khi sử dụng cả 3 không?
Sẽ không có gì sai khi sử dụng dấu nháy kép [""] theo mặc định, sử dụng dấu nháy đơn [''] để bao dấu nháy kép và dấu nháy ngược [
const _wittyAI = "I think therefore I 'am' -- sentient."
const _wittyReply = "No, you only \"think\", so you aren't."
console.log[_wittyAI,_wittyReply]
------------------------------------------------------------------
Output: I think therefore I 'am' -- sentient. No, you only "think", so you aren't.
2] to include variable and multi-line. Nó thuộc về sở thích của cá nhânVí dụ, hướng dẫn về phong cách của Airbnb như sử dụng dấu ngoặc đơn, tránh dấu ngoặc kép và sử dụng một cách tiết kiệm backticks theo nghĩa đen
const _wittyAI = "I think therefore I 'am' -- sentient."
const _wittyReply = "No, you only \"think\", so you aren't."
console.log[_wittyAI,_wittyReply]
------------------------------------------------------------------
Output: I think therefore I 'am' -- sentient. No, you only "think", so you aren't.
1Lời khuyên. Sử dụng ESLint hoặc Prettire để đảm bảo tính nhất quán
Nếu bạn muốn đảm bảo tính nhất quán trong mã, bạn có thể dễ dàng cấu hình với ESLint hoặc sử dụng Prettier
III. Tổng kết
Như vậy, cả dấu nháy đơn, dấu nháy kép đều hoạt động giống nhau. Ngoài ra, ta cũng có thể sử dụng backticks để thay thế, trong các trường hợp nhất định. Việc sử dụng loại nào là do style của từng dev sao cho mã nhất quán. dấu nháy đơn, dấu nháy kép đều hoạt động giống nhau. Ngoài ra, ta cũng có thể sử dụng backticks để thay thế, trong các trường hợp nhất định. Việc sử dụng loại nào là do style của từng dev sao cho mã nhất quán. dấu nháy đơn, dấu nháy kép đều hoạt động giống nhau. Ngoài ra, ta cũng có thể sử dụng backticks để thay thế, trong các trường hợp nhất định. Việc sử dụng loại nào là do style của từng dev sao cho mã nhất quán