[TS] 제네릭
TIL
제네릭(Generic) 이란 함수나 인터페이스, 타입 별칭, 클래스 등을 다양한 타입과 함께 동작하도록 만들어주는 타입스크립트의 기능이다.제네릭이 필요한 상황any 타입의 문제다음과 같이 매개변수 타입을 any로 정의하면 함수 호출 결과가 모두 any 타입으로 추론된다.function func(value: any) { return value;}let num = func(10);let str = func("string");num.toUpperCase(); // ❌ 런타임 오류 발생num에는 Number타입의 값 10이 저장되어 있다. 그러나 any 타입으로 추론되었기 때문에 toUpperCase같은 String타입 전용 메서드를 사용해도 타입스크립트가 오류를 감지하지 못한다.이 코드는 실제로 실행하면 런..
[CS50] 컴퓨팅 사고 - 2진법
TIL
컴퓨터 과학과 문제해결컴퓨터 과학은 문제 해결에 대한 학문이다.문제 해결은 입력(input)을 전달받아 출력(output)을 만들어내는 과정이며 그 중간에 있는 과정이 바로 컴퓨터 과학이다.입력과 출력을 표현하기 위해서는 모두가 동의할 약속(표준)이 필요하다.2진법우리가 일상에서 사용하는 10진법은 0부터 9까지 총 10개의 기호로 숫자를 표현한다.반면 컴퓨터는 오직 0과 1로만 데이터를 표현하며, 이를 2진법이라고 한다. 다음의 표는 10진법과 2진법의 자릿수별 값을 보여준다.10진법은 10의 거듭제곱, 2진법은 2의 거듭제곱으로 각 자릿수의 값이 결정된다. 예를 들어, 2진법으로 011은 10진법의 3을 나타낸다. (0x4 + 1x2 + 1x1 = 3) 이렇게 컴퓨터는 숫자뿐만 아니라 글자, 사진, ..
[TS] 클래스와 접근제어자 사용 연습
TIL
조건을 만족하는 Pokemon 클래스 완성3개의 필드- name 필드는 String 타입이며 Public이다.- skill 필드는 String 타입이며 Public이다.- type 필드는 String 타입이며 읽기 전용 필드이다.2개의 메서드- getName 메서드는 name 필드의 값을 반환한다.- setSkill 메서드는 String 타입의 매개변수를 받아 skill 필드의 값을 업데이트 한다. // 기본 버전 (this 할당 방식)class Pokemon { name: string; skill: string; readonly type: string; constructor(name: string, skill: string, type: string) { this.name = name; ..