Typescript: ๋žŒ๋‹ค๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ VS2013์—์„œ "this" ๋””๋ฒ„๊น… ๋ฌธ์ œ

์— ๋งŒ๋“  2015๋…„ 04์›” 04์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: microsoft/TypeScript

"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๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

Needs Proposal Suggestion Visual Studio

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์—ฌ์ „ํžˆ es5 ๋ฐ ํ™”์‚ดํ‘œ ๊ธฐ๋Šฅ์ด ์žˆ๋Š” vs ์ฝ”๋“œ์˜ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ๋” ๋†’์€ ์šฐ์„  ์ˆœ์œ„๋กœ ํ•ด๊ฒฐํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ์€ ์ •๋ง ์„ฑ๊ฐ€์‹  ์ผ์ž…๋‹ˆ๋‹ค.

๋ชจ๋“  3 ๋Œ“๊ธ€

๋ฌธ์ œ๋Š” ๋””๋ฒ„๊ฑฐ๊ฐ€ typescript์— ๋Œ€ํ•ด ์•Œ์ง€ ๋ชปํ•˜๊ณ  ์ž๋ฐ” ์Šคํฌ๋ฆฝํŠธ์™€ ์†Œ์Šค ๋งต๋งŒ ์•Œ๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์†Œ์Šค ๋งต ํŒŒ์ผ์€ ์†Œ์Šค(.ts)์—์„œ ๋Œ€์ƒ(.js)์œผ๋กœ์˜ ๋ฌธ์— ๋Œ€ํ•œ ๋งคํ•‘์„ ๋‚˜์—ดํ•  ๋ฟ ์ด๋ฆ„์ด ๋ณ€๊ฒฝ๋œ ๋ณ€์ˆ˜(์˜ˆ: _this)๋Š” ์ถ”์ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ์ด ๋ฌธ์ œ๋ฅผ ์•Œ๊ณ  ์žˆ์œผ๋ฉฐ ์˜ค๋žซ๋™์•ˆ ์ง€์†๋˜์–ด ์˜จ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. let, const, destructuring ๋ฐ ๊ณ„์‚ฐ๋œ ์†์„ฑ ๋ณ€๊ฒฝ์œผ๋กœ ์ด๋Ÿฌํ•œ ์žฌ์ž‘์„ฑ์„ ๋” ๋งŽ์ด ํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ์ œ๋Š” ๋” ์‹œ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค.

2859๊ฐ€ ์ˆ˜์ •๋˜๋ฉด IE ๊ฐœ๋ฐœ์ž ๋„๊ตฌ์—์„œ "์ •์ƒ ์ž‘๋™"ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๋ฒˆ์—ญ์„ ์ˆจ๊น๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํ˜„์žฌ Visual Studio์—์„œ๋Š” ๋ฐฐ์„ ์ด ์™„๋ฃŒ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์—ฌ์ „ํžˆ es5 ๋ฐ ํ™”์‚ดํ‘œ ๊ธฐ๋Šฅ์ด ์žˆ๋Š” vs ์ฝ”๋“œ์˜ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ๋” ๋†’์€ ์šฐ์„  ์ˆœ์œ„๋กœ ํ•ด๊ฒฐํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ์€ ์ •๋ง ์„ฑ๊ฐ€์‹  ์ผ์ž…๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰