Tôi có nên sử dụng JavaScript dấu phẩy ở cuối không?

Dấu phẩy ở cuối là những dấu phẩy được tìm thấy ở cuối danh sách mảng, đối tượng hoặc đối số hàm. Chúng có thể hữu ích khi thêm các phần tử, tham số hoặc thuộc tính mới vào mã JavaScript. Nó chỉ giúp các nhà phát triển thuận tiện hơn một chút khi họ có thể chọn viết một mảng là [1,2,3] hoặc [1,2,3,] (chú ý dấu phẩy trong ví dụ thứ hai)

JavaScript đã cho phép đặt dấu phẩy ở cuối mảng và đối tượng từ lâu. Cuối cùng, trong ECMAScript 2017 (ES8), tiêu chuẩn hiện cũng cho phép bạn thêm dấu phẩy ở cuối vào tham số chức năng

Điều đó có nghĩa là tất cả các ví dụ sau đều là mã JavaScript hợp lệ

Mảng

var arr = [1, 2, 3,,,];arr.length; // 5arr[3]; // undefinedvar arr2 = [1, 2, 3,];arr2.length; // 3 ...

Có thể dấu phẩy sau từ “ribbit” khiến bạn hơi lạc đề. Có thể lập trình viên yêu thích sự gọn gàng bên trong bạn, người yêu thích linting muốn xóa lùi cái quái gì đó 💣 Hoặc có thể bạn quá bận rộn để thêm và xóa các thuộc tính khỏi đối tượng của mình để quan tâm

Dấu phẩy ở cuối thuộc tính đối tượng là cú pháp hợp lệ trong ECMAScript 5 (Tôi chưa kiểm tra thông số kỹ thuật nhưng tôi đã đọc một câu hỏi StackOverflow cho biết nó đúng như vậy) và nó sẽ không báo lỗi. 🚨 Tất nhiên, trừ khi bạn đang ở IE8

Tại sao?

Kiểu này có thể được coi là an toàn hơn vì nó bảo vệ bạn khỏi các lỗi cú pháp khó chịu do thiếu dấu phẩy khi bạn thêm hoặc xóa hoặc sắp xếp lại thứ tự các cặp khóa-giá trị của mình. Nó cũng được coi là gọn gàng hơn trong các khác biệt về cam kết, vì để thêm một thuộc tính mới vào dưới cùng của một đối tượng, cuối cùng bạn chỉ sửa đổi một dòng thay vì hai dòng

🚨 Nhưng hãy nhớ

Đối tượng JSON. == Đối tượng JavaScript và nếu bạn cố phân tích một đối tượng JavaScript bằng dấu phẩy ở cuối thì nó sẽ bị nghẹt

JSON.parse('{ "cat": "miaow", "dog": "woof", "frog": "ribbit" }');
// This is valid
JSON.parse('{ "cat": "miaow", "dog": "woof", "frog": "ribbit", }');
// Uncaught SyntaxError: Unexpected token } in JSON

(Đừng quên trích dẫn gấp đôi các phím của bạn. 😁)

Mảng

Mảng cũng có thể xử lý dấu phẩy ở cuối

['bish','bash','bosh',]     // .length = 3

Tuy nhiên đừng quá phóng khoáng với những dấu phẩy đó kẻo vô tình tạo ra những lỗ trống trong mảng mà bạn không muốn.

['bish','bash','bosh',,]     // .length = 4

Trân trọng,

Vì vậy, nó không thực sự quan trọng nếu bạn có dấu phẩy ở khắp mọi nơi (miễn là bạn ghi nhớ một số lưu ý), như thường lệ, đó chỉ là một câu hỏi về sở thích. đảm bảo rằng bạn quyết định phong cách nào bạn thích và tuân thủ nó một cách nhất quán trong toàn bộ cơ sở mã. Có một quy tắc có thể tùy chỉnh độc đáo trong ESLint cũng sẽ cho phép bạn thực thi tùy chọn đã chọn trong suốt dự án của mình

Một số dấu phẩy ở cuối đã hợp pháp trong JavaScript kể từ nguồn gốc của ngôn ngữ. Những người khác là thương hiệu mới. Dưới đây, bạn sẽ tìm hiểu về tất cả

Dấu phẩy ở cuối là gì và tại sao nó lại hữu ích?

Nếu bạn có một danh sách các công việc nhà, bạn có thể tách chúng ra bằng dấu phẩy

dishes, vacuum, tidy

Dấu phẩy ở cuối chỉ đơn giản là dấu phẩy xuất hiện sau mục cuối cùng trong danh sách của chúng ta. Nó không bắt buộc, nhưng trong một số trường hợp trong JS, chúng tôi được phép đặt nó ở đó

dishes, vacuum, tidy,

Có một số lý do khiến bạn có thể muốn bao gồm dấu phẩy ở cuối. Hãy nghĩ về một kịch bản trong đó bạn phải lập trình thêm các phần tử vào một mảng

  • Nếu không có dấu phẩy ở cuối, hầu hết các giá trị có thể được thêm vào mảng dưới dạng
    JSON.parse('{ "cat": "miaow", "dog": "woof", "frog": "ribbit" }');
    // This is valid
    JSON.parse('{ "cat": "miaow", "dog": "woof", "frog": "ribbit", }');
    // Uncaught SyntaxError: Unexpected token } in JSON
    
    3, tuy nhiên, sau đó bạn cần thêm logic đặc biệt để đảm bảo rằng mục cuối cùng được thêm vào mảng không có dấu phẩy sau nó
  • Với dấu phẩy ở cuối, tất cả các mục có thể được thêm vào mảng dưới dạng
    JSON.parse('{ "cat": "miaow", "dog": "woof", "frog": "ribbit" }');
    // This is valid
    JSON.parse('{ "cat": "miaow", "dog": "woof", "frog": "ribbit", }');
    // Uncaught SyntaxError: Unexpected token } in JSON
    
    3
Mảng

Kể từ khi bắt đầu có JavaScript, dấu phẩy ở cuối là hợp pháp khi tạo mảng

// both are the same:let arr = [ 1, 2 ];
let arr = [ 1, 2 , ];
arr.length; // 2
Đối tượng

Dấu phẩy ở cuối cũng hợp lệ trong Đối tượng

// both are the same:let obj = { 
a: 95,
b: 23
};
let obj = {
a: 95,
b: 23,
};
Định nghĩa tham số & Gọi hàm

Bắt đầu với ES 2017, dấu phẩy ở cuối cũng được cho phép trong định nghĩa tham số và lệnh gọi hàm

________số 8

Tuy nhiên, nếu định nghĩa tham số hàm hoặc lệnh gọi hàm chỉ chứa dấu phẩy, lỗi cú pháp sẽ được đưa ra

function f(,) {}; 
// SyntaxError: missing formal parameter
f(,);
// SyntaxError: expected expression, got ','
Thông số còn lại

Nếu bạn chưa quen với các tham số nghỉ ngơi, bạn có thể đọc bài viết của tôi tại đây

Khi sử dụng các tham số còn lại, dấu phẩy ở cuối không được phép và sẽ tạo ra một dấu phẩy

dishes, vacuum, tidy,
0

JSON.parse('{ "cat": "miaow", "dog": "woof", "frog": "ribbit" }');
// This is valid
JSON.parse('{ "cat": "miaow", "dog": "woof", "frog": "ribbit", }');
// Uncaught SyntaxError: Unexpected token } in JSON
1JSON

Dấu phẩy ở cuối không được phép trong JSON. Cố gắng phân tích cú pháp JSON bằng dấu phẩy ở cuối sẽ gây ra lỗi SyntaxError

JSON.parse('{ "cat": "miaow", "dog": "woof", "frog": "ribbit" }');
// This is valid
JSON.parse('{ "cat": "miaow", "dog": "woof", "frog": "ribbit", }');
// Uncaught SyntaxError: Unexpected token } in JSON
2Bạn muốn tìm hiểu thêm về JavaScript?

Xem Hướng dẫn dành cho người mới bắt đầu về JavaScript nâng cao

Ghi chú kết thúc

Cảm ơn vì đã đọc. Tôi đang thực hiện cả loạt bài về JavaScript ES 2017. Vui lòng cân nhắc nhập email của bạn tại đây nếu bạn muốn được thêm vào danh sách email mỗi tuần một lần của tôi

Nếu các hướng dẫn nâng cao về JavaScript như thế này khiến bạn quan tâm và muốn tìm hiểu thêm, hãy xem JavaScript. Hiểu các phần kỳ lạ

Dấu phẩy có cần thiết trong JavaScript không?

Dấu phẩy không phải là một lựa chọn . Định nghĩa một mảng và liệt kê các phần tử, bạn phải phân tách chúng bằng dấu phẩy. Những gì bạn thực sự có thể làm là bỏ qua các giá trị. Nếu bạn muốn có mọi mục nhập thứ hai của một mảng, nhưng vẫn giữ các chỉ mục của mảng.

JSON có cho phép dấu phẩy ở cuối không?

JSON nghiêm ngặt không cho phép dấu phẩy ở cuối. Điều này là vì lý do tương thích với trình duyệt. Nó cũng nhanh hơn để phân tích cú pháp

Dấu phẩy ở sau là gì?

Dấu phẩy ở cuối là những dấu phẩy được tìm thấy ở cuối danh sách mảng, đối tượng hoặc đối số hàm. Chúng có thể hữu ích khi thêm các phần tử, tham số hoặc thuộc tính mới vào mã JavaScript

Làm cách nào để xóa dấu phẩy cuối cùng trong vòng lặp JavaScript?

Để xóa dấu phẩy cuối cùng khỏi một chuỗi, bạn có thể sử dụng phương thức slice(), phương thức replace() hoặc phương thức substring().