Typescript: Typescript๊ฐ€ ๋ฌธ์ž์—ด ๋ฆฌํ„ฐ๋Ÿด ์œ ํ˜•์— ๋Œ€ํ•ด 'String'๋Œ€์‹  ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ ์œ ํ˜• 'Object'๋ฅผ ์ž˜๋ชป ๋ฐฉ์ถœ ํ•จ

์— ๋งŒ๋“  2016๋…„ 09์›” 09์ผ  ยท  1๋…ผํ‰  ยท  ์ถœ์ฒ˜: microsoft/TypeScript

TypeScript ๋ฒ„์ „ : 2.0.2.0 ๋ฒ ํƒ€

์•”ํ˜ธ

function PropDeco(target: Object, propKey: string | symbol) { }

class Foo {
    <strong i="9">@PropDeco</strong>
    public foo: "foo" | "bar";
}
--experimentalDecorators  --emitDecoratorMetadata

์˜ˆ์ƒ๋˜๋Š” ๋™์ž‘ :

Foo.foo ์˜ ๋Ÿฐํƒ€์ž„ ์œ ํ˜•์ด String ์ด๋ฏ€๋กœ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ๋‹ค์Œ ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ ์ •์˜๋ฅผ ๋‚ด ๋ณด๋‚ด์•ผํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

__metadata('design:type', String)

์ „์ฒด ์ฝ”๋“œ :

function PropDeco(target, propKey) { }
var Foo = (function () {
    function Foo() {
    }
    __decorate([
        PropDeco, 
        __metadata('design:type', String)
    ], Foo.prototype, "foo", void 0);
    return Foo;
}());

์‹ค์ œ ํ–‰๋™ :

๋Œ€์‹  ๊ทธ๋Ÿฌ๋‚˜, String ์ปดํŒŒ์ผ๋Ÿฌ ์ถœ์‚ฌ Object ์˜ ๊ฒ€์ถœ ๋œ ์œ ํ˜•์œผ๋กœ Foo.foo :

__metadata('design:type', Object)

์ „์ฒด ์ฝ”๋“œ :

function PropDeco(target, propKey) { }
var Foo = (function () {
    function Foo() {
    }
    __decorate([
        PropDeco, 
        __metadata('design:type', Object)
    ], Foo.prototype, "foo", void 0);
    return Foo;
}());

๋‚˜๋Š” ์ด๊ฒƒ์ด ํ‹€๋ ธ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

Bug Fixed

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

๋ถ€์šธ, ์—ด๊ฑฐ ํ˜•, ์ˆซ์ž ๋ฐ ๋ฌธ์ž์—ด์„ ํฌํ•จํ•œ ๋ชจ๋“  ๋ฆฌํ„ฐ๋Ÿด ์œ ํ˜•์— ๋Œ€ํ•ด์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

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

๋ถ€์šธ, ์—ด๊ฑฐ ํ˜•, ์ˆซ์ž ๋ฐ ๋ฌธ์ž์—ด์„ ํฌํ•จํ•œ ๋ชจ๋“  ๋ฆฌํ„ฐ๋Ÿด ์œ ํ˜•์— ๋Œ€ํ•ด์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

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

๊ด€๋ จ ๋ฌธ์ œ

kyasbal-1994 picture kyasbal-1994  ยท  3์ฝ”๋ฉ˜ํŠธ

wmaurer picture wmaurer  ยท  3์ฝ”๋ฉ˜ํŠธ

Antony-Jones picture Antony-Jones  ยท  3์ฝ”๋ฉ˜ํŠธ

jbondc picture jbondc  ยท  3์ฝ”๋ฉ˜ํŠธ

MartynasZilinskas picture MartynasZilinskas  ยท  3์ฝ”๋ฉ˜ํŠธ