typescript가 새롭고 typescript에서 선택적 속성 클래스의 유틸리티가 무엇인지 알고 싶습니다.typescript의 선택적 속성 클래스
a?: number;
a: number | undefined;
typescript가 새롭고 typescript에서 선택적 속성 클래스의 유틸리티가 무엇인지 알고 싶습니다.typescript의 선택적 속성 클래스
a?: number;
a: number | undefined;
옵션 특성 : 그리고 차이점은 무엇입니까 는 타이프에서 당신이 선택하게 될 인터페이스의 속성을 선언 할 수 있습니다. 누군가가 당신의 인터페이스 IEmployee를 사용하면
interface IEmployee {
firstName: string;
lastName: string;
middleName?: string;
}
다음 가운데 이름이 선택되지만 이름 및 성이 필수입니다 : 당신이 직원 및 중간 이름에 대한 인터페이스가 있다고 가정하면 다음 코드는 다음과 같이됩니다 선택 사항입니다.
let emp: IEmployee = { firstName: "Hohn", lastName: "Doe" }
파이프 연산자 : 때때로 당신은 변수가 여러 유형을 지정할 수 있음을합니다. 속성을 숫자로 선언하면 숫자 만 저장할 수 있습니다. 파이프 연산자는 typescript에 여러 유형을 저장할 수 있음을 알릴 수 있습니다. 파이프 연산자는 함수에서 무엇인가를 반환 할 때 매우 유용하며 조건에 따라 여러 유형을 반환 할 수 있습니다. ...
는유형의 호환성에 중요합니다. 클래스에 대해서도 동일한 예제가 적용됩니다. – asv
파이프 연산자도 클래스에서 작동하지만 선택적 속성은 인터페이스 전용입니다. 클래스에는 선택적 속성의 의미가 없습니다. –
선택적 매개 변수의 차이 도움이 될 것입니다 희망, 그리고 매개 변수 유형 number | undefined
는 인수를 제공 할 필요가 없다는 것입니다
function a(a?: number) {
return a;
}
function b(a: number | undefined) {
return a;
}
// Okay
a();
b(1);
// Not okay: Expected 1 arguments, but got 0.
b();
이것은 함수, 메소드 및 생성자에 적용됩니다.
당신이 엄격한 널 수표에 전환하는 경우
, 당신은 어떤 선택적인 매개 변수 또는 속성이 자동으로 조합 유형을 얻을 것이다 찾을 수 있습니다. 즉, 만number
를 지정에도 불구하고, 아래의 예에서
id
이 유형
number | undefined
을 가지고 의미
// With strict null checks, this:
class Example {
id?: number;
}
// ... is the same as this:
class Example {
id?: number | undefined;
}
// ... and this:
class Example {
id: number | undefined;
}
가 나는 속성 및 매개 변수 사이의 일관성 구문을 유지로 첫 번째 예제를 사용하는 것이 좋습니다 것입니다.
https://www.typescriptlang.org/docs/handbook/interfaces.html#optional-properties는 사용하려는 장소의 예를 제공합니다. – jonrsharpe