업데이트에서 유형 검사에 대한 고정 된 크기의 배열을 선언하는 방법 : 이러한 검사는하지 런타임에서 컴파일 시간 의미한다. 내 예제에서는 실패한 사례가 모두 컴파일 타임에 잡히고, 다른 경우에는 의 경우와 비슷한 동작이 예상됩니다. 경우에 실패합니다.타이프 : 컴파일 시간
이class MyClass {
tableHead: string[3]; // expect to be a 3 element array of strings
tableCells: number[3]; // expect to be a 3 element array of numbers
}
지금까지 발견 한 가장 가까운 솔루션입니다 :
가정하자 나는 내가 좋아하는 같은 길이의 배열, 뭔가하는 클래스의 모든 구성원을 원하는 테이블 같은 클래스를 쓰고 있어요 :
class MyClass {
tableHead: [string, string, string];
tableCells: [number, number, number];
}
let bar = new MyClass();
bar.tableHead = ['a', 'b', 'c']; // pass
bar.tableHead = ['a', 'b']; // fail
bar.tableHead = ['a', 'b', 1]; // fail
// BUT these also pass, which are expected to fail at compile time
bar.tableHead = ['a', 'b', 'c', 'd', 'e']; // pass
bar.push('d'); // pass
bar.push('e'); // pass
더 좋은 아이디어가 있습니까?
액세스 기능에 회원 데이터를 래핑해야합니다. 그러면 인수에 추가 할 데이터의 인수 및/또는 길이를 확인할 수 있습니다. –
'getter'와'setter'를 의미합니까? – benjaminz
예. 비공개로 만들고 목록에서 푸시되거나 제거되는 것을 제어하는 메소드를 제공하십시오. 그럼 내가 제대로 이해하면 – iberbeu