Microsoft/TypeScript
`.length` property of function literals is not `readonly`
Ouverte
#49 113 ouverte le 14 mai 2022
BugDomain: lib.d.tsHelp Wanted
Métriques du dépôt
- Stars
- (108 860 étoiles)
- Métriques de merge PR
- (Métriques PR en attente)
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.