Microsoft/TypeScript
在 GitHub 查看`.length` property of function literals is not `readonly`
Open
#49,113 创建于 2022年5月14日
BugDomain: lib.d.tsHelp Wanted
仓库指标
- Star
- (48,455 star)
- PR 合并指标
- (平均合并 6天 17小时) (30 天内合并 9 个 PR)
描述
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.