작성
·
258
2
안녕하세요..제네릭 타입제한관련된 강의 내용중 이해가 안되는 부분이 있어서 여쭙습니다.
interface의 length는 그냥 이름(variable)아닌지요?
즉 이 interface는 length라는 number형태의 변수를 갖는 것일뿐거 같습니다.
그런데
이렇게 해보면 length를 읽지 못하는 상황입니다.
length는 특별한 키워드인지 궁금합니다.
답변 2
0
interface의 안에
length:number가 Integer length; 이런 구문과 동일하다고 생각해서 좀 헷갈렸나봅니다.
대략 interface가 extends되었을때 해당 interface의 변수 이름은 extended되는 function에 속성 이름으로
사용할 수 있다고 이해하면 되겠네요.
감사합니다.
0
안녕하세요, 인터페이스에 정의한 length 속성은 객체 속성입니다. logTextLength() 함수에서 제네릭을 받을 때 length 속성이 있는 객체만 받겠다고 정의한 것입니다. 본문에 첨부하신 코드처럼 LengthType 인터페이스의 속성을 aaaa로 바꾸시면 logTextLength() 함수 안에서 aaaa 속성만 안전하게 접근할 수 있습니다.