• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

함수에 매개변수의 객체타입의 인터페이스를 전달할 때

23.01.11 21:35 작성 조회수 406

0

안녕하세요 강의 잘 듣고있습니다!

강의와 핸드북으로 인터페이스를 공부하다가 궁금한 부분이 있어 질문드립니다.

타입스크립트 핸드북에서 '타입의 조건만 만족한다면 객체의 속성 갯수가 더 많아도 상관 없다는 의미입니다' 이 부분에 대해서 입니다.

핸드북에 예제대로 따로 변수로 선언하고 콘솔에 찍어볼 때는 오류가 발생하지 않는데 같은 객체를 전달하였을 때는 오류가 발생합니다.
왜 그런걸까요??

interface User {
  name: string;
  age: number;
}

function userPrint(user: User) {
  console.log(user);
}
let user3 = {name: "Soojin", age: 25, adress: "Incheon"};

console.log(userPrint(user3))
console.log(userPrint({name: "Soojin", age: 25, adress: "Incheon"}));

//'{ name: string; age: number; adress: string; }' 형식의 인수는 
//'User' 형식의 매개 변수에 할당될 수 없습니다.
//개체 리터럴은 알려진 속성만 지정할 수 있으며 'User' 형식에 'adress'이(가) 없습니다.

답변 0

답변을 작성해보세요.

답변을 기다리고 있는 질문이에요.
첫번째 답변을 남겨보세요!