Hướng dẫn is it better to use single or double quotes in javascript? - tốt hơn là sử dụng dấu nháy đơn hay dấu ngoặc kép trong javascript?

Tôi muốn nói rằng sự khác biệt hoàn toàn là phong cách, nhưng tôi thực sự nghi ngờ. Xem xét ví dụ sau:

/*
    Add trim() functionality to JavaScript...
      1. By extending the String prototype
      2. By creating a 'stand-alone' function
    This is just to demonstrate results are the same in both cases.
*/

// Extend the String prototype with a trim() method
String.prototype.trim = function() {
    return this.replace(/^\s+|\s+$/g, '');
};

// 'Stand-alone' trim() function
function trim(str) {
    return str.replace(/^\s+|\s+$/g, '');
};

document.writeln(String.prototype.trim);
document.writeln(trim);

Trong Safari, Chrome, Opera và Internet Explorer (được thử nghiệm trên Internet & NBSP; Explorer & NBSP; 7 và Internet & NBSP; Explorer & NBSP; 8), điều này sẽ trả về như sau:

function () {
    return this.replace(/^\s+|\s+$/g, '');
}
function trim(str) {
    return str.replace(/^\s+|\s+$/g, '');
}

Tuy nhiên, Firefox sẽ mang lại một kết quả hơi khác:

function () {
    return this.replace(/^\s+|\s+$/g, "");
}
function trim(str) {
    return str.replace(/^\s+|\s+$/g, "");
}

Các trích dẫn duy nhất đã được thay thế bằng trích dẫn kép. (Cũng lưu ý cách thay thế không gian thụt lề bằng bốn không gian.) Điều này cho ấn tượng rằng ít nhất một trình duyệt phân tích cú pháp JavaScript bên trong như thể mọi thứ được viết bằng cách sử dụng trích dẫn kép. Người ta có thể nghĩ rằng, Firefox sẽ mất ít thời gian hơn để phân tích JavaScript nếu mọi thứ đã được viết theo 'tiêu chuẩn' này.

Nhân tiện, làm cho tôi trở thành một gấu trúc rất buồn, vì tôi nghĩ rằng các trích dẫn đơn lẻ trông đẹp hơn nhiều trong mã. Ngoài ra, trong các ngôn ngữ lập trình khác, chúng thường sử dụng nhanh hơn so với trích dẫn kép, do đó sẽ chỉ có ý nghĩa nếu cùng áp dụng cho JavaScript.

Kết luận: Tôi nghĩ rằng chúng ta cần phải nghiên cứu nhiều hơn về điều này. I think we need to do more research on this.

Điều này có thể giải thích kết quả thử nghiệm của Peter-Paul Koch từ năm 2003.

Có vẻ như các trích dẫn đơn đôi khi nhanh hơn trong các cửa sổ Explorer (khoảng 1/3 bài kiểm tra của tôi đã hiển thị thời gian phản hồi nhanh hơn), nhưng nếu Mozilla hiển thị sự khác biệt, nó sẽ xử lý gấp đôi trích dẫn nhanh hơn một chút. Tôi không tìm thấy sự khác biệt nào trong Opera.

2014: Các phiên bản hiện đại của Firefox/Spidermonkey don lồng làm điều này nữa. Modern versions of Firefox/Spidermonkey don’t do this anymore.

Trong các trích dẫn của JavaScript, các trích dẫn đơn (‘) và Double (Hồi) thường được sử dụng để tạo ra một chuỗi theo nghĩa đen.single (‘ ’) and double (“ ”) quotes are frequently used for creating a string literal.

Nói chung, không có sự khác biệt giữa việc sử dụng các trích dẫn kép hoặc đơn, vì cả hai đều đại diện cho một chuỗi cuối cùng.

Chỉ có một sự khác biệt trong việc sử dụng các trích dẫn đơn và đôi, và nó thuộc về ký tự trích dẫn nào bạn cần để thoát ra bằng cách sử dụng ký tự dấu gạch chéo ngược (\): \, hoặc \. Mỗi loại báo giá nên thoát khỏi loại riêng của nó.(\): \’ or \”. Each type of quote should escape its own type.

Ví dụ:

"double quotes ( \" ) should escape a double quote"
'single quotes ( \' ) should escape a single quote'

Nhưng không cần phải thoát khỏi ký tự khác bên trong một chuỗi. Do đó, một trích dẫn kép có thể có các trích dẫn đơn mà không cần thoát khỏi chúng và ngược lại.

Một đối số quan trọng cho các trích dẫn đơn là khi bạn cần viết HTML bên trong JavaScript:

  • Khi bạn sử dụng các trích dẫn đơn, bạn có thể hành động như sau:
  • Nhưng nếu bạn sử dụng báo giá kép, bạn cần thoát khỏi mọi "Ex:

    mà có thể khá khó chịu.

  • Các trích dẫn đơn trông đẹp hơn khi bạn sử dụng chúng để biểu diễn một chuỗi trống '' vs "".

Nhược điểm duy nhất của các trích dẫn duy nhất mà bạn có thể đưa ra là sao chép và dán giữa các tệp JSON và JavaScript: Các trích dẫn đơn không được hỗ trợ trong các tệp JSON.

Ngược lại, JSON chỉ cho phép sử dụng trích dẫn kép. Ngoài ra, sử dụng trích dẫn kép, bạn thoát khỏi dấu nháy đơn trong khi viết các chữ cái tiếng Anh.

Ngoài ra còn có một giải pháp thay thế và hiệu quả: sử dụng Backticks (``) bằng cách sử dụng loại trích dẫn này có nhiều lợi thế.(` `) Using this type of quote has many advantages.

Đầu tiên và quan trọng nhất, chúng cho phép nồng độ chuỗi đơn giản (phép nội suy biến biến). Đây là một ví dụ:

"string " + variable becomes `string ${variable}`

Thứ hai, không cần phải thoát (\) trích dẫn đơn hoặc đôi. Hãy xem ví dụ này:(\) single or double quotes. Take a look at this example:

"\"Welcome to W3Docs!\""
becomes `"Welcome to W3Docs"`

Thứ ba, chúng cho phép mã đa dòng mà không có ký tự dòng mới (\ n):(\n):

"Welcome to\nW3Docs!"
becomes 
`Welcome to W3Docs`

Ngoài ra, họ hoạt động tốt hơn cho HTML; Do đó bạn có thể sử dụng chúng theo mặc định, như sau:

Để tránh đưa ra lựa chọn mỗi khi bạn có ý định viết một chuỗi, chúng tôi khuyên bạn nên chọn một trong các kiểu được mô tả ở trên và gắn bó với nó. Trích dẫn đơn là những câu nói phổ biến nhất trong lập trình đương đại. Nhưng, luôn luôn nhớ rằng JSON không hỗ trợ họ.JSON does not support them.

Các chuỗi trong JavaScript thường được sử dụng để lưu trữ và thao tác văn bản. UTF-16 là định dạng nội bộ dai dẳng của họ. Chuỗi có khả năng đại diện cho số không hoặc nhiều ký tự, được viết bên trong các trích dẫn.

Đây là ba cách để viết chuỗi: bạn có thể viết chúng bên trong các trích dẫn đơn, trích dẫn kép hoặc backticks. Loại báo giá được sử dụng phải khớp ở cả hai bên. Dù sao, có thể sử dụng tất cả các trích dẫn trong cùng một kịch bản. Các chuỗi sử dụng trích dẫn đơn và trích dẫn kép được coi là giống nhau. Cách cuối cùng và mới nhất để sử dụng các chuỗi được gọi là một mẫu theo nghĩa đen: nó sử dụng backticks và hoạt động giống như các chuỗi thông thường.

Làm thế nào để tôi biết nếu tôi nên sử dụng trích dẫn đơn hay đôi?

Có hai loại dấu ngoặc kép: 'đơn' và gấp đôi. Cái nào nên chọn thường phụ thuộc vào việc bạn đang sử dụng tiếng Anh Mỹ hay Anh. Công ước Hoa Kỳ là sử dụng dấu ngoặc kép, trong khi Công ước Vương quốc Anh thường sử dụng dấu ngoặc kép.The US convention is to use double quotation marks, while the UK convention is usually to use single quotation marks.

Sự khác biệt giữa trích dẫn kép và trích dẫn đơn trong JS là gì?

Sự khác biệt đáng chú ý duy nhất giữa các trích dẫn đơn và trích dẫn đôi xuất hiện khi chúng ta phải trốn thoát các ký tự.Nếu bạn sử dụng các trích dẫn đơn để tạo một chuỗi, bạn không thể sử dụng các trích dẫn đơn trong chuỗi đó mà không thoát chúng bằng cách sử dụng dấu gạch chéo ngược (\).If you use single quotes to create a string, you can not use single quotes within that string without escaping them using a backslash ( \ ).

Bạn có thể sử dụng các trích dẫn đơn trong JavaScript không?

Trích dẫn đơn và đôi trong chuỗi JavaScript Nếu bạn bắt đầu với một trích dẫn duy nhất, bạn cần kết thúc bằng một trích dẫn duy nhất.Có những ưu và nhược điểm khi sử dụng cả hai trích dẫn duy nhất IE có xu hướng giúp viết HTML dễ dàng hơn trong JavaScript vì bạn không phải thoát khỏi dòng với một trích dẫn kép.

Tôi nên sử dụng trích dẫn đơn hay đôi trong TypeScript?

Giống như JavaScript, TypeScript cũng sử dụng trích dẫn kép (") hoặc trích dẫn đơn (') cho dữ liệu chuỗi bao quanh. Hướng dẫn kiểu Google JavaScript gợi ý thích trích dẫn đơn lẻ:" Đối với các trích dẫn đơn tính nhất quán (')("). Điều này rất hữu ích khi tạo các chuỗi bao gồm HTML:".For consistency single-quotes (') are preferred to double-quotes ("). This is helpful when creating strings that include HTML:".