Microsoft/TypeScript
在 GitHub 查看Assignments to global objects in Javascript should be global declarations
Open
#22,446 建立於 2018年3月9日
BugDomain: JavaScriptEffort: ModerateExperience EnhancementHelp WantedRescheduled
描述
// @noEmit: true
// @allowJs: true
// @checkJs: true
// @Filename: a.js
global.x = 1
window.y = 2
this.z = 3
var n = x + y + z
Expected behavior: No error, and x, y and z are visible globally.
Actual behavior: Errors:
- Can't find name 'global'
- 'Window' has no property 'y'
- Cannot find name 'x', 'y' or 'z'
Ideally, global should only be visible when targetting node and window should only be visible when targetting the browser. It's not a requirement, though.