Skip to content

Variable Scope Problem #4985

Open
Open
@YiWen-y

Description

@YiWen-y
Version

Version: 3.0.0 (fea10bb)

Test case
var foo = function() {
    var y = 200;
    try {
        throw {}
    } catch ({
        x = function(){print(y);}
    }) {
        let y = 300;
        x();
    }
};
foo();
Execution steps
/.jsvu/jerry Testcase.js
Output
300
Expected behavior
200
Description

The correct output of the test case should be 200 while jerryscript yields 300. The reason I think is that jerryscript fails to deal with the scope of the global and local variables y, where jerryscript may treat the local variable y at line 8 as the global variable, leading to output 300 at line 6.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugUndesired behaviourecma coreRelated to core ECMA functionality

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions