티스토리 뷰
728x90
에러로그
Type 'String' is not assignable to type 'string'. 'string' is a primitive, but 'String' is a wrapper object. Prefer using 'string' when possible.ts(2322)
index.d.ts(2324, 9):
The expected type comes from property 'src' which is declared here on type 'DetailedHTMLProps<ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>'
개발습관 만들기
“Type ‘String’ is not assignable to type ‘string’” 에러는 TypeScript에서 발생하는 일반적인 문제이다. 이 에러는 String 객체 타입이 아닌 기본 string 타입에 값을 할당하려고 할 때 발생한다. TypeScript에서는 String과 string을 다르게 취급하는데, String은 객체 타입이고 string은 기본 타입이다.
이 문제를 해결하는 방법은 다음과 같다:
- 타입 단언(Type Assertion) 사용하기: 변수를 string 타입으로 명시적으로 단언할 수 있다.
let myString: String = "Banana"; let myFruit: string = myString as string;
- const 단언 사용하기: TypeScript 3.4 이상에서는 const 단언을 사용하여 리터럴 타입을 확장하지 않고 그대로 사용할 수 있다.
let fruit = 'orange' as const;
- 타입 변환(Type Casting) 사용하기: 문자열 리터럴을 직접 할당하여 타입 변환을 피할 수 있다.
let myFruit: Fruit = "Banana";
- null 병합 연산자(nullish coalescing operator) 사용하기: undefined 또는 null 값에 대해 기본값을 제공하여 타입 에러를 방지할 수 있다.
let name1: string = person.name ?? "";
- 비-널 단언 연산자(non-null assertion operator) 사용하기: 변수가 null이나 undefined가 아님을 단언할 수 있다.
let name1: string = person.name!;
개발습관 만들기
Java를 기본언어로 사용했기에 String을 사용하는 습관이 있다.
TypeScript에서 String과 string은 다른 타입이다.
마찬가지로 Number과 number는 다른 타입니다.
number,string, boolean, symbol은 primitive type 이고 Number, String, Boolean, Symbol은 참조 자료형이다.
둘은 다른 자료형이며 래퍼객체는 타입으로 사용해서는 안된다.
이유는 string이 String보다 효율적이고 안전하다. 추가 메타데이터와 함수들을 포함하는 객체보다 메모리 효율적이며, 객체타입보다 불변타입이 안전하다.String의 타입은 Object인 반면 string의 타입은 string이다.
앞으로 Interface 타입 제작시 primitive type을 사용하는 습관을 가지자.
728x90
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 구스피크
- 레드오션 반대
- 치지직 댓글
- xe 환경설치
- ai 서비스 기획
- 유투브 댓글
- 치지직 채팅
- API
- 수집
- 최종학력 별 임금격차
- dispath.yaml 파일 구문
- app engine 커스텀 서브 도메인 추가
- xe제로보드
- 아프리카TV 채팅
- 유투브 댓글 조회
- goosepeak
- gcp app engine 리디렉션 규칙 관리
- dispatch.yaml 사용방법
- window 셋팅
- 아프리카tv 댓글
- 통계의 오류 마이클조던
- s24 장점
- 유투브 채팅
- 스트리밍 채팅 API
- 스트리밍 댓글 API
- xe 개발 셋팅
- copilot 서비스 기획
- xampp 설치
- blue ocean shift
- xe xampp 설치
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함