Dấu phẩy được sử dụng để làm gì trong javascript?

Tôi đã viết JavaScript được gần mười năm rồi, nhưng mãi đến gần đây tôi mới khám phá ra toán tử dấu phẩy. Là một phần của luận án Cử nhân, tôi đã triển khai bộ phân tích luồng điều khiển cho các chương trình JavaScript. Đương nhiên, tôi phải đọc đặc tả ngôn ngữ để hiểu cách đánh giá các câu lệnh và biểu thức khác nhau, đó là nơi tôi tình cờ tìm thấy toán tử dấu phẩy

Cách sử dụng #Comma trong JavaScript

Hãy dành một chút thời gian và xem xét một số cấu trúc ngôn ngữ JavaScript có cú pháp yêu cầu chúng ta viết dấu phẩy. Chúng tôi sử dụng dấu phẩy để…

  • khai báo nhiều biến cùng lúc.
    return pos++, [token = SyntaxKind.GreaterThanToken];
    5
  • liệt kê các phần tử trong mảng chữ.
    return pos++, [token = SyntaxKind.GreaterThanToken];
    6
  • thuộc tính riêng biệt của đối tượng chữ.
    return pos++, [token = SyntaxKind.GreaterThanToken];
    7
  • xác định nhiều tham số chức năng.
    return pos++, [token = SyntaxKind.GreaterThanToken];
    8
  • gọi một hàm có nhiều đối số.
    return pos++, [token = SyntaxKind.GreaterThanToken];
    9
  • hủy cấu trúc mảng.
    return pos++, [token = SyntaxKind.GreaterThanToken];
    0
  • phá hủy đối tượng.
    return pos++, [token = SyntaxKind.GreaterThanToken];
    1
  • nhập nhiều thành viên mô-đun.
    return pos++, [token = SyntaxKind.GreaterThanToken];
    2
  • xuất nhiều thành viên mô-đun.
    return pos++, [token = SyntaxKind.GreaterThanToken];
    3

Tất cả các ví dụ trên đều đúng về mặt cú pháp và có chứa dấu phẩy, nhưng không có ví dụ nào sử dụng toán tử dấu phẩy thực tế. Vậy nhà điều hành bí ẩn mà tôi đang nói đến là gì?

#Toán tử dấu phẩy

Hóa ra tôi đã sử dụng toán tử dấu phẩy mà không biết về nó. Kiểm tra vòng lặp

return pos++, [token = SyntaxKind.GreaterThanToken];
4 sau

for [var x = 0, y = 10; x 

Chủ Đề