Typescript: рдирдХреНрд╢рд╛, рд╕реЗрдЯ ... ES5 рд▓рдХреНрд╖реНрдп рдореЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 28 рдордИ 2015  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: microsoft/TypeScript

рд╕рдВрд╕реНрдХрд░рдг 1.4.1 рд╕реЗ 1.5.0 рдмреАрдЯрд╛ рддрдХ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореЗрд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╕реНрд░реЛрдд рдХреЛрдб 'рдореИрдк рдирд╣реАрдВ рдорд┐рд▓рд╛' рдЬреИрд╕реЗ рддреНрд░реБрдЯрд┐ рд▓реЙрдЧ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрди рдЧрдпрд╛ред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдореИрдВрдиреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдкрд░ рд╢реЛрдз рдХрд┐рдпрд╛, рдФрд░ рдореИрдВ рдПрдХ рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдкрд╣реБрдВрдЪрд╛ред lib.d.ts рдореЗрдВ рдореИрдк рдФрд░ рд╕реЗрдЯ рдкрд░рд┐рднрд╛рд╖рд╛рдПрдВ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИрдВ, рд╕рд┐рд╡рд╛рдп ES6 рдХреЛ tsconfig.json рдореЗрдВ рдЪреБрдиреЗ рдЬрд╛рдиреЗ рдХреЗред

рджрд░рдЕрд╕рд▓, рдореИрдк рдФрд░ рд╕реЗрдЯ ES6 рдХрд╛ рд╕реНрдкреЗрд╕рд┐рдлрд┐рдХреЗрд╢рди рд╣реИред рдпрд╣ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд╣реИ рдХрд┐ рд╣рдо ES5 рдпрд╛ рдЙрд╕рд╕реЗ рдХрдо рдХреЗ рд▓рдХреНрд╖реНрдп рд╡рд╛рд▓реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ Map рдФрд░ Set рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рд▓реЗрдХрд┐рди рд╣рдо рдореИрдк рдФрд░ рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рднрд▓реЗ рд╣реА рдореИрдВ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ 1.4.1 рд╕реЗ рдкрд╣рд▓реЗ ES5 рдХреЛ рд▓рдХреНрд╖реНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдЪреБрдиреВрдВред
рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ ES5 рдХреЗ рд▓рд┐рдП рдмрдирд╛рдИ рдЧрдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдорд╛рдирдЪрд┐рддреНрд░ рдФрд░ рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдмрдирд╛рдиреЗ рдореЗрдВ рдЬреЛрдЦрд┐рдо рд╣реИред
рдХреНрдпреЛрдВрдХрд┐ рдХреБрдЫ рдмреНрд░рд╛рдЙрдЬрд░ рдореИрдк рдФрд░ рд╕реЗрдЯ рдХреЛ рд╕рдкреЛрд░реНрдЯ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдХреБрдЫ рд╕рдВрдкрддреНрддрд┐ рдмрдирд╛рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ рдЬреЛ рдЗрди рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ рдпрд╛ рдирд╣реАрдВред рдХреНрдпрд╛ рдЖрдкрдХреЛ рдРрд╕рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛?

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

@LimeStreem рд╣рдордиреЗ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ 1.5.0-рдмреАрдЯрд╛ рдореЗрдВ рдХреБрдЫ рдЖрдИрдИ-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рдХрд╛рд░ рд╣рдЯрд╛ рджрд┐рдП рд╣реИрдВред рдЖрдк рдЕрдкрдиреА рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдореЗрдВ рдЯрд╛рдЗрдк рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ:

interface Map<K, V> {
    clear(): void;
    delete(key: K): boolean;
    forEach(callbackfn: (value: V, index: K, map: Map<K, V>) => void, thisArg?: any): void;
    get(key: K): V;
    has(key: K): boolean;
    set(key: K, value: V): Map<K, V>;
    size: number;
}
declare var Map: {
    new <K, V>(): Map<K, V>;
    prototype: Map<any, any>;
}
interface Set<T> {
    add(value: T): Set<T>;
    clear(): void;
    delete(value: T): boolean;
    forEach(callbackfn: (value: T, index: T, set: Set<T>) => void, thisArg?: any): void;
    has(value: T): boolean;
    size: number;
}
declare var Set: {
    new <T>(): Set<T>;
    prototype: Set<any>;
}

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

@LimeStreem рд╣рдордиреЗ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ 1.5.0-рдмреАрдЯрд╛ рдореЗрдВ рдХреБрдЫ рдЖрдИрдИ-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рдХрд╛рд░ рд╣рдЯрд╛ рджрд┐рдП рд╣реИрдВред рдЖрдк рдЕрдкрдиреА рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдореЗрдВ рдЯрд╛рдЗрдк рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ:

interface Map<K, V> {
    clear(): void;
    delete(key: K): boolean;
    forEach(callbackfn: (value: V, index: K, map: Map<K, V>) => void, thisArg?: any): void;
    get(key: K): V;
    has(key: K): boolean;
    set(key: K, value: V): Map<K, V>;
    size: number;
}
declare var Map: {
    new <K, V>(): Map<K, V>;
    prototype: Map<any, any>;
}
interface Set<T> {
    add(value: T): Set<T>;
    clear(): void;
    delete(value: T): boolean;
    forEach(callbackfn: (value: T, index: T, set: Set<T>) => void, thisArg?: any): void;
    has(value: T): boolean;
    size: number;
}
declare var Set: {
    new <T>(): Set<T>;
    prototype: Set<any>;
}

рд╡рд╛рд╣, рдореИрдВ рдЗрд╕ рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВ! :рд╣рд╕ рд░рд╣рд╛:
рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЯрд╛рдЗрдкрдкреНрд░рддрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рдмрд╣реБрдд рдорджрдж рдХрд░реЗрдЧреА!

declare class WeakMap< Key , Value > {
    delete( key : Key ) : boolean
    get( key : Key ) : Value
    has( key : Key ) : boolean
    set( key : Key , value : Value ) : Map< Key , Value >
}

declare class Map< Key , Value > {
    clear(): void
    delete( key : Key ) : boolean
    forEach< Context = any >( handler : ( this : Context , value : Value , key : Key , map : Map< Key , Value > ) => void , context? : Context ) : void
    get( key : Key ) : Value
    has( key : Key ) : boolean
    set( key : Key , value : Value ) : Map< Key , Value >
    size : number
}

declare class Set< Value > {
    add( value : Value ) : Set< Value >
    clear() : void
    delete( value : Value ) : boolean
    forEach< Context = any >( handler : ( this : Context , value : Value , key : Value , map : Set< Value > ) => void , context? : Context ) : void
    has( value : Value ) : boolean
    size : number
}
рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

remojansen picture remojansen  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

MartynasZilinskas picture MartynasZilinskas  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Roam-Cooper picture Roam-Cooper  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Zlatkovsky picture Zlatkovsky  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

wmaurer picture wmaurer  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ