해결된 질문
작성
·
122
0
리터럴 타입이란, 값 그 자체로 타입을 정의하는것으로 이해했습니다.
그러나 객체에 대한 타입을 설명해주실 때 아래의 코드처럼 객체를 선언하는 형태로 각 property에 타입을 지정하는 방식을 설명해주시면서 이를 객체 리터럴 타입 이라고 정의해주셨습니다.
let user2: {
id: number;
name: string;
} = {
id: 1,
name: "이정환"
}
이에 저는 리터럴이라는 의미에 저게 맞을까? 라는 의문을 갖게 되어 아래와 같이 선언해보았습니다.
let user2: {
id: 1,
name: "이정환"
} = {
id: 1,
name: "이정환"
}
사실 의미적으로 놓고 보았을때 객체 리터럴타입이라면 아래 코드가 더 맞는거 아닐까 질문드립니다.
인터페이스나 type 방식으로 지정하는 타입 방식을 생략하고 바로 지정해주는것 같은데..
래퍼런스, 도큐먼트 등 검색을 해 봐도 강사님의 정의하신 `객체 리터럴 타입` 이라는 단어를 찾을수가 없어서 질문드립니다...
답변 1
0
안녕하세요 이정환입니다.
강의중 말씀드린 객체 리터럴 타입은, Object라는 기본 객체 타입 외에 마치 객체 리터럴을 생성하듯 객체의 타입을 정의하는 것을 의미하고 있습니다. 이는 오렐리의 Learning TypeScript 도서에서 발췌한 용어로 아래의 아티클에서 정확히 확인하실 수 있습니다.
https://www.oreilly.com/library/view/learning-typescript/9781098110321/ch04.html
그러나 이 용어는 질문주신대로 다분히 오해의 소지가 있는 용어인 것 같습니다. 따라서 "객체 리터럴" 방식으로 타입을 정의한다고 이해해주시면 감사하겠습니다. 추가 조사 뒤에 오해의 소지가 있는 용어는 수정 조치 하도록 하겠습니다. 감사합니다