Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

ความแตกต่างระหว่าง Single Quote และ Double Quote ใน JavaScript

ใน JavaScript Single Quote (') และ Double Quote (") ทำงานเหมือนกันทุกประการ สำหรับ String Literal เลือกอย่างใดอย่างหนึ่งและใช้สม่ำเสมอ (Consistency)

ตัวอย่างจากบทความ

"Let us say: \"Life's good!\""
'Let us say: "Life\'s good!"'
"Let us say: \"Life\'s good!\""
'Let us say: \"Life\'s good!"'

// ES6 Template Literals (Backtick)
`Will you be "my" friend. I really liked it when I was a kid,.`;

ไม่มีความแตกต่างด้าน Performance หรือ Functionality

typeof 'hello';  // "string"
typeof "hello";  // "string"
'hello' === "hello"; // true

แนวทางปฏิบัติ (Style Guides)

Style Guideแนะนำเหตุผล
AirbnbSingle Quote (')Consistent, ใช้ใน JS community มาก
GoogleSingle Quote (')เหมือนกัน
StandardJSSingle Quote (')No semicolon, single quote
Prettier (default)Single Quote (')Configurable
TypeScript DefaultSingle Quote (')tsconfig: "quoteStyle": "single"

เมื่อไหร่ควรใช้ Double Quote

  • String ที่มี Single Quote เยอะ (HTML attributes, contractions)
  • JSON (ต้องใช้ Double Quote เท่านั้น)
  • Team convention ใช้ Double
// HTML attributes - ใช้ double quote นอก แล้ว single ใน JS
const html = '
Content
'; // JSON - ต้อง double quote const json = '{"name": "John", "age": 30}'; // Contractions - ใช้ double quote ครอบ const msg = "It's a beautiful day"; // ไม่ต้อง escape

Template Literals (Backticks ``) - ES6

// Multi-line
const html = `
  

Hello

`; // Interpolation const name = 'John'; const greeting = `Hello, ${name}!`; // Expression const price = 100; const total = `Total: ${price * 1.07} Baht`; // Tagged Template function tag(strings, ...values) { return strings.reduce((acc, str, i) => acc + str + (values[i] || ''), ''); } tag`Hello ${name}!`; // "Hello John!"

Escape Sequences

SequenceMeaning
\'Single quote
\"Double quote
\\Backslash
\nNewline
\tTab
\rCarriage return
\bBackspace
\fForm feed
\uXXXXUnicode (4 hex digits)
\u{XXXXX}Unicode (ES6, variable length)

สรุป

เลือกอย่างใดอย่างหนึ่งและใช้สม่ำเสมอ
Single Quote (') เป็นมาตรฐานใน JS community ส่วนใหญ่
ใช้ Template Literals (``) สำหรับ Multi-line, Interpolation, HTML templates