Tôi đã tự hỏi trạng thái nào được giữ giữa hai dòng mã JavaScript được gửi đến babel-node
. Sự nhầm lẫn của tôi nảy sinh bởi vì nếu bạn viết hai dòng mã, bạn có thể ghi đè định nghĩa biến mà không có lỗi. Ví dụ, với babel-node --presets es2015
, bạn có thể làm:Trạng thái nào được giữ giữa các dòng JavaScript?
> const a = 1;
undefined
> let a = 2;
undefined
Bây giờ nếu bạn viết nó trong một dòng, bạn nhận được một lỗi:
> const a = 1; let a = 2;
TypeError: repl: Duplicate declaration "a"
...
Dường như trong trường hợp đầu tiên, nhà nước mà a
được định nghĩa là 1
(const
chuyển nhượng biến) bị mất (chưa đến khi nhiệm vụ thứ hai), trong khi trong trường hợp thứ hai, nó được duy trì.
Điều gì gây ra sự khác biệt ở đây? và trạng thái nào được duy trì?
xác định vị trí bằng 'nút babel 'là thủ phạm cụ thể - nút vani' node' repl không hiển thị vấn đề này. – naomik