분류 전체보기
-
아이템 20- 다른 타입에는 다른 변수 사용하기타입스크립트 2023. 3. 14. 15:35
타입스크립트에서는 변수에 값을 재할당할 때, 변수를 초기화할 때 지정한 타입과 다른 타입의 값을 할당하면 오류가 발생합니다. function fetchProduct(id: string) { /* ... */ } function fetchProductBySerialNumber(id: number) { /* ... */ } let id = "12-34-56"; fetchProduct(id); id = 123456; // '123456' is not assignable to type 'string'. fetchProductBySerialNumber(id); // ~~ Argument of type 'string' is not assignable to // parame..
-
아이템 19 - 추론 가능한 타입을 사용해 장황한 코드 방지하기타입스크립트 2023. 3. 14. 08:18
타입 추론이란? 타입스크립트에서 타입 구문을 명시하지 않는다면, 일반적으로 변수의 타입 혹은 함수가 반환하는 타입은 처음 등장할 때 결정되는데, 이것을 타입 추론이라고 합니다. 변수의 타입을 명시하지 않고 값을 할당할 경우 let x = 12; // number 타입으로 추론 const person = { name: 'Sojourner Truth', born: { where: 'Swartekill, NY', when: 'c.1797', } }; // { name: string; born: { where: string; when: string; }; } 타입으로 추론 함수의 반환 타입을 명시하지 않았을 경우 function square(nums: number[])..
-
아이템 13 - 타입과 인터페이스의 차이점 알기타입스크립트 2023. 3. 7. 09:28
타입스크립트에서 명명된 타입을 정의하는 방법은 두 가지가 있다. 타입을 사용하는 방법 type TState = { name: string; capital: string; } 인터페이스를 사용하는 방법 interface IState { name: string; capital: string; } 대부분의 경우에는 타입을 사용해도 되고 인터페이스를 사용해도 되는데, 타입과 인터페이스 사이에 존재하는 차이를 분명하게 인식함으로써 같은 상황에서 동일한 방법으로 명명된 타입을 정의해 코드의 일관성을 유지할 수 있도록 해야한다. 인터페이스 선언과 타입 선언의 비슷한 점 잉여 속성 체크할 수 있다. // type 키워드를 사용할 경우 type TState = { name: string; capital: string; ..
-
아이템 12 - 함수 표현식에 타입 적용하기타입스크립트 2023. 3. 7. 09:27
자바스크립트에서 함수를 선언하려면 다음 중 한 가지 방식을 선택할 수 있다. 함수 문장 (statement) function rollDice1(sides) { /* ... */ } // Statement 함수 표현식 (expression) const rollDice2 = function(sides) { /* ... */ }; // 무기명 함수를 변수에 할당 const rollDice3 = (sides) => { /* ... */ }; // 화살표 함수를 변수에 할당 타입스크립트에서 함수를 선언할 때, 함수 문장보다는 함수 표현식을 사용하는 것이 더 좋은데 이유는 다음과 같다. 함수 시그니처를 함수 표현식에 사용할 수 있기 때문에 불필요한 코드의 반복을 줄일 수 있다. 함수 구현부와 타입 선언부가 분리되어..
-
아이템 11 - 잉여 속성 체크의 한계 인지하기타입스크립트 2023. 3. 7. 09:26
타입스크립트는 타입이 명시된 변수나 함수의 인자에 값을 할당할 때, 할당 가능 검사를 수행하게 된다. 즉, 공통된 속성이 있는지 검사한다. interface Room { numDoors: number; ceilingHeightFt: number; } const obj = { numDoors: 1, ceilingHeightFt: 10, elephant: 'present', }; const r: Room = obj; // 할당 가능하다. 💡 할당 가능 검사란? 변수에 할당하고자 하는 값의 타입이 변수에 명시된 타입 속성과 공통된 속성이 있는지 확인하는 검사를 말한다. 집합적 관점으로 봤을 때, 변수에 할당하고자 하는 값의 타입은 변수에 명시된 타입의 부분 집합을 포함한다. 하지만 이렇게 할당 ..
-
4. 네트워크 주소네트워크 2022. 9. 25. 13:05
컴퓨터로 어떤 문서를 출력한다고 생각해 봅시다. 컴퓨터는 출력하고자 하는 문서에 대한 데이터를 네트워크를 통해 프린터에 전달해야 합니다. 만약 네트워크에 여러 대의 프린터가 연결되어 있다면, 특정 프린터에서 문서가 출력되도록 해야할 것입니다. 만약 기밀 문서를 출력할 경우 네트워크에 연결된 모든 endpoint에 데이터를 전달한다면, 모든 endpoint에서 문서에 대한 내용을 확인할 수 있기 때문에 보안에 매우 취약할 것입니다. 이와 같은 문제를 해결하려면 어떻게 해야지 특정 프린터에서 문서를 출력하도록 할 수 있을까요? 네트워크 주소 위의 예시에 대한 문제를 해결하기 위해서, 네트워크에 있는 장치들을 각각 구분하기 위해 MAC 주소와 IP 주소를 가지고 있습니다. 1) MAC 주소 네트워크의 각 노드..
-
2. 네트워크 종류네트워크 2022. 9. 13. 06:42
노드란? 네트워크는 장치를 연결하는 데 사용되는 것이라고 할 수 있는데, 여기서 네트워크에 연결된 장치들을 노드(node)라고 합니다. 여기서 노드는 스위치 및 라우터와 같이 네트워크를 통해 트래픽의 흐름을 제어하는데 도움이 되는 장치뿐만 아니라 워크스테이션이나 서버와 같이 대량의 트래픽을 송수신하는 장치 등도 될 수 있습니다. 크기에 따른 네트워크 종류 네트워크를 분류하는 방법은 다양한데, 그중 크기(즉, 노드의 개수)로 분류하면 다음과 같이 나눌 수 있습니다. 1) SOHO 네트워크 SOHO 네크워크란 Small Ofiice, Home Office의 첫 글자를 따서 만든 단어로 집에서와 같이 적은 개수의 노드를 가지고 있는 네트워크를 SOHO 네트워크라고 합니다. 이 네트워크는 일반적으로 몇 대의 컴..
-
1. 네트워크란 무엇인가?네트워크 2022. 9. 6. 19:16
네트워크란? 직장 혹은 집에 컴퓨터, 프린터, TV 등 다양한 장치들이 있을 수 있습니다. 이러한 장치들을 "네트워크"를 이용해서 연결할 수가 있습니다. 즉, 네트워크라는 것은 장치들을 서로 연결하는데 사용되는 것입니다. 이렇게 장치들이 서로 연결되어 있으면 데이터를 서로 공유할 수가 있습니다. 이렇게 서로 연결되어 있다면 컴퓨터가 프린터에게 출력을 하도록 명령을 하거나 혹은 컴퓨터가 TV를 통해 비디오를 스트리밍하는 등의 일을 할 수 있습니다. 어떻게 장치들을 연결할까? 이렇게 장치들이 서로 통신하려면 어떻게든 함께 연결되어 있어야 합니다. 어떻게 하면 장치들을 서로 연결할 수 있을까요? 장치들을 연결하는 한 가지 방법으로는 케이블을 이용해서 특정 장치로부터 스위치라고 하는 장치에 연결하는 것입니다. ..