apple strict : true옵션으로 strict 유형의 검사 옵션을 사용할 수 있다. 아래의 모든 옵션들을 설정한 것과 같다.
applenoImplicitAny: 이 옵션은 코드에서 우리가 작업하고 있는 매개변수와 값을 명확히 할 수 있도록 해준다.
apple strictNullCheck : ts파일에 에러가 있을 때(예를들어 button에 querySelector다음에 !를 추가하지 않은 경우) false로 하면 느낌표를 추가하지 않고 에러를 제거. null 값을 잠재적으로 가질 수 있는 값에 접근하고 작업하는 방식을 타입스크립트에게 매우 엄격하게 알려준다. 이 버튼 역시 null일 수 있다. 이는 dom 노드에 포인터를 반환하지 못하면 null을 반환한다.
const button = document.querySelector("button")!;
// 방법 1. button이 html에 있는 경우가 확실하다면 !를 추가함
if(button) {
button.addEventListener("click", ()=> {
console.log("Clicked!");
});
}
// 방법 2. button이 있는지 없는지 확실하지 않은 경우 if문을 추가함
//방법 1과 2 둘 중에 하나만 사용하면 됨
apple strictFunctionTypes : 많은 애플리케이션에서 볼 수 없는 틈새 박스를 잡는다. 이는 설정 중인 함수 타입과 관련이 있어서 함수 내의 타입은 아니다. 그러나 매개변수와 반환 값에 대해 함수가 어떻게 표시되는지 정의하고기본 모듈에서 학습한 함수 타입을 생성하는 경우, 박스를 입력할 수 있다.
appleStrictBindCallApply : 결합하고 호출하고 적용하는 작업에 유용하다. bind를 통해 전달될 인수를 재구성 하고자 할 때 인수에 null 을 지정하면 오류가 나는데, 이 때 StrictBindCallApply를 false로 설정하면 에러가 나지 않는다.
이 옵션은 호출하려는 함수가 bind, call, apply 중 무엇에 해당하는지 확인하고 여기에 함수를 제대로 설정했는지 확인하는 기능이다.
위 옵션을 false로 하지 않고 에러를 해결 하는 방법은 7번 째 줄에 두 번째 인수를 입력하는 것이다. (숫자를 입력하면 에러가 나지만 string 을 입력하면 에러가 나지 않음)
const button = document.querySelector("button")!;
function clickHandler (message: string) {
console.log("Clicked!" + message)
}
if(button) {
button.addEventListener("click", clickHandler.bind(null, "you're welcome!")
});
}
apple noImplicitThis : 이 옵션은 this 키워드와 관련이 있으며 타입스크립트는 기본적으로 this 키워드가 무엇을 의미하는지 명확하지 않은 위치에서 사용되면 경고한다.
applealwaysStrict : strict 모드를 사용하는 생성되는 자바스크립트 파일이 추가되도록 제어한다.
'공부기록 > Typescript' 카테고리의 다른 글
vs code로 디버깅하기 (0) | 2023.04.07 |
---|---|
tsconfig.json파일 additionalOptions (0) | 2023.04.07 |
tsconfig.json파일 compilerOptions (0) | 2023.04.07 |
watch mode (0) | 2023.04.07 |
tsconfig.json 파일 옵션 : 특정 파일 컴파일링 제외 / 포함 (0) | 2023.04.07 |