Typescript: ES6 클래슀 μƒμ„±μž 속성 지원

에 λ§Œλ“  2016λ…„ 03μ›” 21일  Β·  3μ½”λ©˜νŠΈ  Β·  좜처: microsoft/TypeScript

TypeScript 버전 :

1.7.5

μ•”ν˜Έ

class Foo extends React.Component<any, any> {
 // ... some class definitions
}
Foo.defaultProps = {
  bar: 'baz'
}

μ˜ˆμƒλ˜λŠ” λ™μž‘ :

였λ₯˜κ°€ μ—†μŠ΅λ‹ˆλ‹€.

μ‹€μ œ 행동 :

TS2339 : 속성 'defaultProps'κ°€ 'typeof Foo'μœ ν˜•μ— μ—†μŠ΅λ‹ˆλ‹€.

기술

μ•ˆλ…•ν•˜μ„Έμš”, ES6 클래슀 와 ν•¨κ»˜ typescriptλ₯Ό μ‚¬μš©ν•˜μ—¬ λ°˜μ‘ 클래슀λ₯Ό λ§Œλ“€κ³  μ‹ΆμŠ΅λ‹ˆλ‹€. μœ„μ˜ 였λ₯˜κ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€.

클래슀 λ³Έλ¬Έ λŒ€μ‹  μœ„μ™€ 같이 클래슀 속성을 μ„€μ •ν•  수 μžˆλ‹€λ©΄ λ©‹μ§ˆ κ²ƒμž…λ‹ˆλ‹€. typescriptκ°€ μ§€μ›ν•˜μ§€ μ•ŠλŠ” 것 κ°™μŠ΅λ‹ˆκΉŒ?

Question

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

였λ₯˜λŠ” 기본적으둜 Foo defaultProps 정적 속성이 μ—†λ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. λ”°λΌμ„œ μ»΄νŒŒμΌλŸ¬μ—κ²Œ κ·ΈλŸ¬ν•œ 속성을 μ›ν•œλ‹€κ³  λ§ν•˜λ©΄λ©λ‹ˆλ‹€.

class Foo extends React.Component<any, any> {
    static defaultProps: any;
}

Foo.defaultProps = {
  bar: 'baz'
}

일반적으둜 μ†Œν’ˆμ΄ μ–΄λ–€ μ’…λ₯˜μ˜, μžˆλ‹€λ©΄ P λŒ€μ‹  any , 그것은 것 class Foo extends React.Component<P, ... 및 static defaultProps: P;

λͺ¨λ“  3 λŒ“κΈ€

였λ₯˜λŠ” 기본적으둜 Foo defaultProps 정적 속성이 μ—†λ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. λ”°λΌμ„œ μ»΄νŒŒμΌλŸ¬μ—κ²Œ κ·ΈλŸ¬ν•œ 속성을 μ›ν•œλ‹€κ³  λ§ν•˜λ©΄λ©λ‹ˆλ‹€.

class Foo extends React.Component<any, any> {
    static defaultProps: any;
}

Foo.defaultProps = {
  bar: 'baz'
}

일반적으둜 μ†Œν’ˆμ΄ μ–΄λ–€ μ’…λ₯˜μ˜, μžˆλ‹€λ©΄ P λŒ€μ‹  any , 그것은 것 class Foo extends React.Component<P, ... 및 static defaultProps: P;

μ•½κ°„ 더 적은 μ½”λ“œμ— λŒ€ν•΄ λͺ¨λ“ˆ 병합을 μ‚¬μš©ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

class Foo { ... }
namespace Foo {
  export const defaultProps = {
    ...
  }
}

μΉœμ ˆν•œ λ‹΅λ³€ κ°μ‚¬ν•©λ‹ˆλ‹€! : +1 :

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰