Microsoft/TypeScript
Voir sur GitHub`.length` property of function literals is not `readonly`
Open
#49 113 ouverte le 14 mai 2022
BugDomain: lib.d.tsHelp Wanted
Métriques du dépôt
- Stars
- (48 455 stars)
- Métriques de merge PR
- (Merge moyen 6j 17h) (9 PRs mergées en 30 j)
Description
Bug Report
Function .length property is inconsistently readonly depending on whether Function constructor is used or not.
🔎 Search Terms
function length readonly
🕗 Version & Regression Information
v4.6.2 (haven't checked older versions)
⏯ Playground Link
Playground link with relevant code
💻 Code
const f = new Function()
f.length = 1 // Error here: Cannot assign to 'length' because it is a read-only property.
const f2 = () => {}
f2.length = 1 // No error here
🙁 Actual behavior
The length property of the function created with new Function() is readonly while the length property of function literals is not.
🙂 Expected behavior
Both length properties should be readonly. Alternative both could be non-readonly but that seems worse since JS doesn't modify the length when assigning a value.