Π― ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ ΠΊΠΎΠ΄ TypeScript Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΆΠ΅ΡΡΠΊΠΎ Π·Π°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π·Π°Ρ Π²Π°ΡΠ° Β«ΡΡΠΎΠ³ΠΎΒ»:
var _this = this;
var querySucceeded = function(data){
this.doSomething(data);
}
var test = this.executeQuery().then(function(data){
_this.querySucceeded(data);
});
Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π»ΡΠΌΠ±Π΄:
var querySucceeded = function(data){
this.doSomething(data);
}
var test = this.executeQuery().then((data) => {
this.querySucceeded(data);
});
TypeScript ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΡΠ΅Ρ JS Π²ΠΎ ΡΡΠΎ-ΡΠΎ ΠΏΠΎΡ ΠΎΠΆΠ΅Π΅ Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°, ΠΈ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΎΡΠ»Π°Π΄ΠΊΠ΅ Π² Visual Studio. ΠΠΎΠ³Π΄Π° Ρ ΠΏΡΠΎΠ²Π΅ΡΡΡ "ΡΡΠΎ" ΠΏΠΎΡΠ»Π΅ Π»ΡΠΌΠ±Π΄Π°, ΠΎΠ½ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΎΠΊΠ½Π°, Π° Π½Π΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΠΊΠ»Π°ΡΡΠ°.
ΠΡΠ»ΠΈ Ρ ΠΎΡΠ»Π°ΠΆΠΈΠ²Π°Ρ ΠΏΡΡΠΌΠΎ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅, ΠΎΠ½ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½. ΠΡΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½Π°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°? ΠΠΎΠΆΠ΅Ρ Π±ΡΡΡ, ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°ΠΉΠ»ΠΎΠΌ JS ΠΈ ΡΠ°ΠΉΠ»ΠΎΠΌ TS?
Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ VS2013 Update 4 ΠΈ TypeScript 1.4.
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΡΠ»Π°Π΄ΡΠΈΠΊ Π½Π΅ Π·Π½Π°Π΅Ρ ΠΎ typescript, ΠΎΠ½ Π·Π½Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ javascript ΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΠΊΠ°ΡΡΡ. ΡΠ°ΠΉΠ» ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ°ΡΡΡ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΠ΅Ρ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ² ΠΈΠ· ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° (.ts) Π² ΡΠ΅Π»Ρ (.js), Π½ΠΎ Π½Π΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, _this).
ΠΡ Π·Π½Π°Π΅ΠΌ ΠΎΠ± ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ΅, ΠΈ ΠΎΠ½Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΆΠ΅ Π΄Π°Π²Π½ΠΎ. ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ΅ΠΉΡΠ°Ρ Π±ΠΎΠ»Π΅Π΅ Π°ΠΊΡΡΠ°Π»ΡΠ½Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΡ Π΄Π΅Π»Π°Π΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ°ΠΊΠΈΡ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΡΠ²Π°Π½ΠΈΠΉ Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ ΡΠ²ΠΎΠΉΡΡΠ² let, const, destructuring ΠΈ Π²ΡΡΠΈΡΠ»ΡΠ΅ΠΌΡΡ ΡΠ²ΠΎΠΉΡΡΠ².
ΠΠΎΠ³Π΄Π° 2859 Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΎ, ΡΡΠΎ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Β«ΠΏΡΠΎΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡΒ» Π² ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° IE, Ρ. Π. ΠΠ½ Π±ΡΠ΄Π΅Ρ ΡΠΊΡΡΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄. ΠΠ΄Π½Π°ΠΊΠΎ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΠ²ΠΎΠ΄ΠΊΠ° Π² Visual Studio Π½Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π°.
ΠΡΠΎ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΠΊΠΎΠ΄ΠΎΠΌ vs Ρ es5 ΠΈ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ΡΡΡΠ΅Π»ΠΊΠΈ, ΡΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°Π·Π΄ΡΠ°ΠΆΠ°Π΅Ρ, Π½ΡΠΆΠ½ΠΎ ΡΠ΅ΡΠ°ΡΡ Ρ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΈΠΌ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΠΌ.
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΡΠΎ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΠΊΠΎΠ΄ΠΎΠΌ vs Ρ es5 ΠΈ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ΡΡΡΠ΅Π»ΠΊΠΈ, ΡΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°Π·Π΄ΡΠ°ΠΆΠ°Π΅Ρ, Π½ΡΠΆΠ½ΠΎ ΡΠ΅ΡΠ°ΡΡ Ρ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΈΠΌ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΠΌ.