void
을 TypeScript의 제네릭 함수에 대한 형식 매개 변수로 지정할 수 있습니다. 그리고 그것은 함수의 반환 값에 대해 잘 작동합니다. 그러나 void
이 인수의 형식 일 때 어떤 값을 사용할 수 있는지 분명하지 않습니다. void
유형의 인수에 대한 매개 변수를 지정하는 방법이 있습니까? 그렇다면 왜 그런 함수를 선언 할 수 있습니까? TypeScript specification에서TypeScript에서 제네릭 함수의 인수 형식으로 void
답변
void 값을 얻는 것은 매우 쉽다는 것이 밝혀졌습니다. 기술적으로는 여전히 undefined
값이지만, 타이프 라이터는 우리가 필요로 정확히 void 형으로 믿고 있지만 :
var voidValue = (function() { })();
:
주 :이 유용한 목적을 제공하지 않기 때문에 우리는 형 무효의 선언 변수를 허용하지 고려할 수 있습니다. 그러나 Void는 제네릭 형식 또는 함수에 대한 형식 인수로 허용되므로 Void 속성이나 매개 변수를 허용하지 않는 것이 적합합니다.
유형 인수로 void
을 사용할 수 있지만 유형으로 사용하면 안됩니다. 현재 유형 약어로 사용할 수 있습니다 있지만 사실
var x: void = ???; // cannot supply a value
형식 인수로 무효의 사용은 아래에 설명되어
class Example<TReturn> {
process(func:() => TReturn) {
return func();
}
}
이 클래스의 형식 인수는 함수의 반환 형식을 지정하는 데 사용됩니다. 즉, 해당 함수의 유형을 void
으로 지정할 수 있습니다. 따라서 형식 인수로 허용되어야합니다.
var example = new Example<void>();
내가 example.process
에 전화를 쓸 때 이제 자동 완성 내가 요구 사항을 전달하는 인수는 다음과 같은 유형의 만족 말해됩니다
func:() => void
을 그리고 그것은 또한 example.process
자체 말해 것 공백은 이 경우입니다.
void
은 형식에 주석을다는 데 사용되지 않지만 형식 인수로 허용해야하는 타당한 이유가 있으므로 현재 체크되지 않습니다. 그것은 당신이 유효하지 않은 뭔가를 만들 수 있다는 것을 의미합니다,하지만 당신은 열심히 그것을 사용하는 누를 것 : 당신이 전화를 쓸 수 없을 것입니다 (모든 오류를 표시하지 않는)이 유효하지 않은 예에서
class Example<T> {
process(func: T) {
// if T is void, this is all wrong
}
}
var example = new Example<void>();
을 유효한 인수를 전달할 수 없기 때문에 example.process
입니다.
당신은 같은 것을 할 수 있습니다 : 나는 타이프 라이터를 사용하고
class Example<T> {
process(func: T = undefined) {
// use default undefined parameter
}
}
var example = new Example<void>();
exmple.process();
을 1.8.7 그리고 그것은 나를 위해 잘 일했다.
- 1. 제네릭 형식으로 다시 캐스팅
- 2. void 멤버 함수의 튜플
- 3. 자바 제네릭 인수 불일치
- 4. 제네릭 함수의 제로
- 5. javascript/typescript에서 익명 함수의 반환 형식을 지정해야합니까?
- 6. 제네릭 형식으로 인스턴스화하는 방법?
- 7. xml 제네릭 형식으로 제네릭 클래스 serialize
- 8. 함수의 인수 deadline_timer :: async_wait()
- 9. 제네릭 형식으로 컬렉션을 캐스팅하려면 어떻게해야합니까?
- 10. void 함수의 값을 반환하는 방법
- 11. void 함수의 2darray 동적 할당
- 12. 함수의 void const * 인수의 목적
- 13. boost :: bind 정적 함수의 인수
- 14. "% p 형식 지정자의 인수 유형이"void * "입니까?
- 15. 익명 함수의 인수 유형
- 16. 재귀 함수의 인수 연결
- 17. 함수의 BASH 인수
- 18. Fortran 함수의 선택적 인수
- 19. 슬라이스 JS 함수의 인수
- 20. Java 함수의 인수
- 21. pamk 함수의 인수
- 22. 자기 실행 함수의 인수
- 23. main 함수의 인수 지점
- 24. 익명 함수의 이벤트 인수
- 25. 제네릭 형식으로 변환하지 못했습니다. C#
- 26. ExpressionTextBox의 ExpressionType을 제네릭 형식으로 설정하십시오.
- 27. 제네릭 형식 인수 제거 : 가능합니까?
- 28. C++ 함수의 "플래그 인수"확인
- 29. 약 void * 및 제네릭 함수에 대한 문제
- 30. void 포인터를 사용하여 제네릭 스택을 구현 하시겠습니까?
죄송합니다. 내가 대답하지 않은 질문의 일부를 강조 해줄 수 있습니까? – Fenton