microsoft / microsoft/TypeScript
`${number}` template literal type does not allow "NaN" or "Infinity"
Đang mở
Chưa có ai nhận issue này.
Awaiting More Feedback
Suggestion
- Ngôn ngữ chính
- Go
- Star
- 111k
- Fork
- 14.3k
- Merge trung bình
- 2 ngày 4 giờ
- Pull request đã merge (30 ngày)
- 132
Mô tả
Bug Report
🔎 Search Terms
NaN Infinity template literal types
🕗 Version & Regression Information
4.3.0-dev.20210226
⏯ Playground Link
Playground link with relevant code
💻 Code
const a: number = NaN //no error
const b: `${number}` = 'NaN' //Type '"NaN"' is not assignable to type '`${number}`'.
const c: number = Infinity //no error
const d: `${number}` = 'Infinity' //Type '"Infinity"' is not assignable to type '`${number}`'
🙁 Actual behavior
compile errors
🙂 Expected behavior
the strings "NaN" and "Infinity" should be valid `${number}`s because NaN and Infinity are valid numbers
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu với TypeScript Playground được liên kết và các ví dụ ${number} trong issue để tái hiện các lỗi đối với NaN và Infinity. Theo dõi cách compiler xử lý các kiểu template literal, sau đó thêm hoặc cập nhật các bài kiểm thử compiler liên quan để cả hai chuỗi đều được chấp nhận, đồng thời vẫn giữ đúng hành vi hiện có của ${number}.
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