✨함수 매개변수 필수 매개변수 function singTwo(first: string, second: string){ console.log(`${first} ${second}`) } // 이 함수의 매개변수는 2개 이다. // 1개 혹은 3개의 매개변수는 허용하지 않는다. singTwo("a") // ERROR Expected 2 arguments, but got 1. singTwo("a","b") // OK singTwo("a","b","c") // ERROR Expected 2 arguments, but got 3. 선택적 매개변수 타입 애너테이션의 : 앞에 ? 를 추가해 선택적으로 사용할 수 있습니다. function singTwo(first: string, second?: string){ cons..
✨ 객체 타입 객체 타입 선언 let poetLater: { born: number; name: string; } poetLater = { born: 1935, name: 'Mary Oliver' } poetLater = 2 // [ERROR] Type 'number' is not assignable to type '{ born: number; name: string; }'. 별칭 객체 타입 type 키워드를 사용하여 객체 별칭을 할당해 사용할 수 있습니다. 대부분의 타입스크립트 프로젝트 에서는 인터페이스(interface) 키워드를 사용하는 것을 선호합니다. type poetLater = { born: number; name: string; } const poetLater: poetLater = { b..
✨유니언 타입 값에 허용된 타입을 두 개 이상의 가능한 타입으로 확장하는 것을 유니언이라 한다. let mathmaticion = Math.random() > 0.5 ? undefined : "Mark Goldberg"; // mathmetician은 undefined와 string 타입을 가진다. 즉 유니언 타입을 가진다. 유니언 타입 선언 애너테이션으로 유니언 타입을 정의할 수 있다. let thinker : string | null = null; if(Math.random() > 0.5){ thinker = "Susanne Langer"; } 유니언 속성 유니언 타입으로 설정한다면, 해당 모든 타입에 존재하는 속성만 사용할 수 있다. let mathmaticion = Math.random() > 0..
✨ 타입의 종류 타입이란 typeof 연산자가 설명하는 형태를 다루는 값 타입 시스템 코드를 읽고 모든 타입과 값을 이해 각 값이 초기 선언에서 가질 수 있는 타입을 확인 각 값이 추후 코드에서 어떻게 사용 될 수 있는지 확인 값의 사용법이 타입과 일치하지 않으면 오류를 표시 오류 종류 구문 오류 : TS → JS 로 컴파일 되는 것을 차단 타입 오류 : 타입 검사기에서 일치하지 않는 타입 확인 타입 오류는 JS로 변환되는 것을 막지 않는다. ✨ 할당 가능성 함수 호출이나 변수에 값을 제공할 수 있는지 여부를 확인하는 것을 할당 가능성이라 한다. ✨ 타입 애너테이션 때로 변수에 초기값이 없는 경우, 나중 타입을 파악하려고 하지 않는다. 암묵적인 any 타입으로 간주한다. 이 때의 any를 진화하는 any..
😥발생한 문제? "use client"; import { useEffect } from "react"; const KakaoMap = () => { useEffect(() => { const script = document.createElement("script"); script.type = "text/javascript"; script.src = `//dapi.kakao.com/v2/maps/sdk.js?appkey=${process.env.NEXT_PUBLIC_KAKAO_MAP_API}&autoload=false`; document.body.appendChild(script); script.onload = () => { window.kakao.maps.load(() => { const containe..
오버로딩과 오버라이딩을 알아봅시다. 프론트엔드를 공부하기 때문에 타입스크립트를 기준으로 글을 적습니다. 우선 오버로딩과 오버라이딩을 알아보기 앞서 Call signature와 다형성(Polymorphism) 이 무엇인지 알아봅시다. 🤔Call signature 함수의 타입을 정의하는 방법 중 하나입니다. type CallSignature = {(a:number, b:number): number}; const add:CallSignature = (a,b) => a+b 🤔다형성 (Polymorphism) 다형성은 객체 지향 프로그래밍(OOP)에서의 개념 중 하나로, 여러 객체나 클래스가 동일한 인터페이스 또는 추상 클래스를 공유하면서 각각의 객체나 클래스가 다르게 동작할 수 있는 능력을 의미합니다. 쉽게 말..