UTILS.
100% trong trình duyệt
🎨

Công cụ Làm đẹp / Định dạng JavaScript

In đẹp JavaScript và JSON đã bị nén hoặc lộn xộn với thụt lề, khoảng cách và ngắt dòng nhất quán — một trình định dạng viết tay chạy hoàn toàn trong trình duyệt.

— kết quả hiển thị ở đây —

Về công cụ này

Công cụ Làm đẹp JavaScript định dạng lại JavaScript và JSON đã bị nén, một dòng, hoặc thụt lề không nhất quán thành mã nguồn sạch, dễ đọc với thụt lề và khoảng cách đồng nhất. Nó tiện dụng để đọc một thư viện đã đóng gói, dọn dẹp một đoạn mã đã sao chép, hoặc kiểm tra một khối JSON. Mọi thứ diễn ra trong trình duyệt của bạn — mã chỉ được định dạng lại dưới dạng văn bản, không bao giờ được thực thi, nên không có eval, không có new Function, và không có gì được tải lên.

Trình định dạng là một bộ phân tích token viết tay, không phải một mẹo regex: nó quét mã nguồn thành các token trong khi bỏ qua đúng phần bên trong của chuỗi, template literal, biểu thức chính quy, và chú thích dòng/khối, nên các dấu ngoặc và dấu gạch chéo bên trong đó không bao giờ bị nhầm là cấu trúc. Một phép suy đoán lookbehind cổ điển phân biệt toán tử chia với một regular-expression literal. Luồng token sau đó được phát lại với dòng mới sau '{', '[' và ';', các dòng giảm thụt lề trước '}' và ']', mỗi mục một dòng bên trong object và array literal, và một khoảng trắng đơn quanh toán tử và sau từ khóa.

Chọn thụt lề 2 khoảng trắng, 4 khoảng trắng, hoặc tab, và một kiểu dấu ngoặc: collapse giữ dấu ngoặc mở trên cùng dòng (K&R / 1TBS), còn expand đưa nó xuống dòng riêng (Allman). Vì công cụ bảo toàn nội dung chuỗi và regex nguyên từng byte, mã đã định dạng lại giống hệt về mặt ngữ nghĩa với đầu vào. Sao chép kết quả thẳng vào trình soạn thảo của bạn.

Câu hỏi thường gặp

Nó có chạy hoặc đánh giá mã của tôi không?
Không. Trình làm đẹp chỉ phân tích token và phát lại mã nguồn của bạn dưới dạng văn bản. Nó không bao giờ gọi eval hay new Function và không bao giờ thực thi mã, nên dán JavaScript không tin cậy hoặc độc quyền là an toàn. Toàn bộ công việc ở lại trong trình duyệt của bạn.
Nó có hoạt động với JSON không?
Có. JSON là một tập con của cú pháp JavaScript, nên dán một object hoặc array JSON đã nén sẽ dàn lại nó thành dạng thụt lề, mỗi khóa một dòng. Chuỗi, số, và các cấu trúc lồng nhau được định dạng giống như trong JavaScript.
Sự khác biệt giữa các kiểu dấu ngoặc là gì?
Collapse (K&R / 1TBS) giữ dấu ngoặc mở trên cùng dòng với câu lệnh, ví dụ 'if (x) {'. Expand (Allman) đặt dấu ngoặc mở xuống dòng riêng bên dưới câu lệnh. Cả hai đều tạo ra mã giống hệt, hợp lệ — chỉ khác cách bố trí.
Nó có thay đổi hành vi của mã tôi không?
Không. Chỉ khoảng trắng, thụt lề và ngắt dòng thay đổi. Nội dung của chuỗi, template literal và biểu thức chính quy được bảo toàn chính xác, nên đầu ra đã định dạng lại giống hệt về chức năng với mã nguồn gốc.

Công cụ khác