microsoft / microsoft/TypeScript

Destructuring or bracket notation on `never` shouldn't be allowed

Đang mở
#42,999 1 bình luận 12 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Awaiting More Feedback Suggestion
Ngôn ngữ chính
Go
Star
111k
Fork
14.4k
Merge trung bình
1 ngày 19 giờ
Pull request đã merge (30 ngày)
117

Mô tả

Bug Report

You can destructure or use bracket notation on never type, but you can't access props using the dot notation. It should disallow all forms of property access.

🔎 Search Terms

never destructuring destructure bracket dot notation

🕗 Version & Regression Information
  • This is the behavior in every version I tried, and I reviewed the FAQ ✔️
⏯ Playground Link

Playground link

🙁 Actual behavior
const { prop } = ({} as never); // does not error
const prop2 = ({} as never)["prop"]; // does not error
🙂 Expected behavior

TS should not allow this, same as you can't access props using the dot notation:

const prop = ({} as never).prop; // error

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Bắt đầu với các ví dụ TypeScript Playground được liên kết và so sánh việc truy cập thuộc tính, ký hiệu dấu ngoặc vuông và phép phân rã trên một giá trị được khẳng định là never. Theo dõi cách trình biên dịch xử lý ba dạng này và thêm hoặc cập nhật phạm vi kiểm thử hồi quy để mỗi dạng đều bị từ chối một cách nhất quán.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
typescript
Lĩnh vực
compilers
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
42/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.