Typescript: НСвозмоТно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ Π½Π° это (Π² строгом Ρ€Π΅ΠΆΠΈΠΌΠ΅)

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 23 мая 2017  Β·  1ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: microsoft/TypeScript



ВСрсия TypeScript: 2.2.1 / nightly (2.2.0-dev.201xxxxx)
2.3.3

Код

строго Π²Π΅Ρ€Π½ΠΎ

function test(){
    console.log(this.value);
    console.log((this as any).value);
}

let a = {
    value: 'a',
    test: test
}

a.test()

ОТидаСмоС повСдСниС:
succ

ЀактичСскоС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅:

Test.ts (2,17): ошибка TS2683: 'this' нСявно ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ 'any', ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ Ρ‚ΠΈΠΏΠ°.
Test.ts (3,18): ошибка TS2683: 'this' нСявно ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ 'any', ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ Ρ‚ΠΈΠΏΠ°.

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π›ΠΈΠ±ΠΎ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ Ρ‚ΠΈΠΏ this Π² объявлСнии Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

function test(this: any) {
    console.log(this.value);
}

ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ --noImplicitThis false

>ВсС замСчания

Π›ΠΈΠ±ΠΎ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ Ρ‚ΠΈΠΏ this Π² объявлСнии Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

function test(this: any) {
    console.log(this.value);
}

ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ --noImplicitThis false

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ