Skip to content

this reference in Object #10410

Closed
Closed
@senyaak

Description

@senyaak

TypeScript Version: 1.8.0 / nightly (2.0.0-dev.201xxxxx)

Code

interface IFoo {
  get(val: number): number;
  getAll(val: string): number;
}
function foo(): IFoo {

  return {
    get(val: number): number {
      return val + 1;
    },
    getAll(val: string): number {
      return this.get(val)*10;
    }
  };
}

Expected behavior:
Compiler show an error that val string isn't a number
Actual behavior:
No error.

Trick to get expected behavior:

interface IFoo {
  get(val: number): number;
  getAll(val: string): number;
}
function foo(): IFoo {

  var a: IFoo =  {
    get(val: number): number {
      return val + 1;
    },
    getAll(val: string): number {
      return this.get(val)*10;
    }
  };

  return a;
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    Working as IntendedThe behavior described is the intended behavior; this is not a bug

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions