"this"μ νλ μ½λ©λ μΊ‘μ²λ₯Ό μ¬μ©νμ¬ μΌλΆ 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μμ λλ²κΉ ν λμ λλ€. λλ€ λ€μμ "this"λ₯Ό κ²μ¬νλ©΄ ν΄λμ€ μ»¨ν μ€νΈ λμ μ°½ μμ±μ΄ νμλ©λλ€.
λΈλΌμ°μ μμ μ§μ λλ²κ·Ένλ©΄ λ‘컬 컨ν μ€νΈκ° μ λλ‘ νμλ©λλ€. μλ €μ§ λ¬Έμ μ λκΉ? JS νμΌκ³Ό TS νμΌ κ°μ 맀νμ λ¬Έμ κ° μμ΅λκΉ?
VS2013 μ λ°μ΄νΈ 4μ TypeScript 1.4λ₯Ό μ¬μ©νκ³ μμ΅λλ€.
λ¬Έμ λ λλ²κ±°κ° typescriptμ λν΄ μμ§ λͺ»νκ³ μλ° μ€ν¬λ¦½νΈμ μμ€ λ§΅λ§ μκ³ μλ€λ κ²μ λλ€. μμ€ λ§΅ νμΌμ μμ€(.ts)μμ λμ(.js)μΌλ‘μ λ¬Έμ λν 맀νμ λμ΄ν λΏ μ΄λ¦μ΄ λ³κ²½λ λ³μ(μ: _this)λ μΆμ νμ§ μμ΅λλ€.
μ°λ¦¬λ μ΄ λ¬Έμ λ₯Ό μκ³ μμΌλ©° μ€λ«λμ μ§μλμ΄ μ¨ λ¬Έμ μ λλ€. let, const, destructuring λ° κ³μ°λ μμ± λ³κ²½μΌλ‘ μ΄λ¬ν μ¬μμ±μ λ λ§μ΄ νκ³ μκΈ° λλ¬Έμ λ¬Έμ λ λ μκΈν©λλ€.
2859κ° μμ λλ©΄ IE κ°λ°μ λꡬμμ "μ μ μλ"ν΄μΌ ν©λλ€. μ¦, λ²μμ μ¨κΉλλ€. κ·Έλ¬λ νμ¬ Visual Studioμμλ λ°°μ μ΄ μλ£λμ§ μμμ΅λλ€.
μ¬μ ν es5 λ° νμ΄ν κΈ°λ₯μ΄ μλ vs μ½λμ λ¬Έμ μ λλ€. λ λμ μ°μ μμλ‘ ν΄κ²°ν΄μΌ νλ κ²μ μ λ§ μ±κ°μ μΌμ λλ€.
κ°μ₯ μ μ©ν λκΈ
μ¬μ ν es5 λ° νμ΄ν κΈ°λ₯μ΄ μλ vs μ½λμ λ¬Έμ μ λλ€. λ λμ μ°μ μμλ‘ ν΄κ²°ν΄μΌ νλ κ²μ μ λ§ μ±κ°μ μΌμ λλ€.