목록전체 글 (113)
초짜코딩의 잡동사니

Generics제네릭은 C#이나 Java와 같은 언어에서 재사용 가능한 컴포넌트를 만들기 위해 사용하는 기법이다 단일 타입이 아닌 다양한 타입에서 작동할 수 있는 컴포넌트를 생성할 수 있다.(구체적인 타입을 지정하지 않고 다양한 인수와 리턴 값에 대한 타입을 처리할 수 있다.)타입스크립트에서 제네릭을 통해 인터페이스, 함수 등의 재사용성을 높일 수 있다.function identity(arg: Type): Type {return arg;}// 제네릭 화살표 함수 (tsx기준)const identity=(arg: Type):Type => {return arg;}let output = identity("myString"); // 첫 번째 방법let output = identity("myString"); //..

📌 TS의 변수타입(part III)✅ unknownunknown타입은 모든 값을 나타냅니다. 이것은 any타입과 비슷하지만 any보다 unknown이 더 안전합니다. 이유는 unknown값으로 작업을 수행하는 것은 합법적이지 않기 때문입니다.let a:unknownif(typeof a === 'number'){ let b = a + 1 } if(typeof a === 'string'){ let b = a.toUpperCase() } 🚫 let b = a + 1✅ voidvoid는 값을 반환하지 않는 함수의 반환 값을 나타냅니다. 함수에 return 문이 없거나 해당 return 문에서 명시적 값을 반환하지 않을 때 항상 유추되는 타입입니다.function hello() { conso..

📌 TS의 변수타입(part II)✅ readonly 사용하기type Player = { readonly name:string age?:number}const playerMaker = (name: string): Player => ({name})const nico = playerMaker("nico")🚫 nico.name = "aa"const numbers: readonly number[] = [1, 2, 3, 4]🚫 numbers.push(1)❗ readonly가 있으면 최초 선언 후 수정 불가 ⇒ immutability(불변성) 부여 but, javascript에서는 그냥 배열✅ Tuple정해진 개수와 순서에 따라 배열 선언const player: [string, n..

📌 TS의 변수타입✅ 배열: 자료형[]✅ 숫자: number✅ 문자열: string✅ 논리: boolean✅ optionalconst player : { name: string, age?:number} = { name: "nico"} ❌ player.age가 undefined일 가능성 알림if(player.age ⭕ player.age가 undefined일 가능성 체크if(player.age && player.age ❗ ?를 :앞에 붙이면 optional✅ Alias(별칭) 타입type Player = { name: string, age?:number}const player : Player = { name: "nico"} ⭐ 함수에서는 어떻게 쓸까type Player..

객체 지향 프로그래밍 객체 지향 프로그래밍(Object-Oriented Programming) , 줄여서 흔히들 OOP라고 부르는 설계 방법론에 대해서 이야기해보려고 한다. OOP는 프로그래밍의 설계 패러다임 중 하나로, 현실 세계를 프로그램 설계에 반영한다는 개념을 기반으로 접근하는 방법이다. 객체 지향 프로그래밍을 왜 알아야 하나요? 사실 OOP가 오랜 기간동안 전 세계에서 사랑받고있는 설계 패턴인 것은 맞지만 최근에는 OOP의 단점을 이야기하며 함수형 프로그래밍과 같은 새로운 설계 패러다임이 각광받기도 했다. (함수형 프로그래밍도 사실 꽤 오래된 패러다임이다) 사실 OOP니 함수형 프로그래밍이니 하는 이런 것들은 결국 프로그램을 어떻게 설계할 것인가?에 대한 방법이기 때문에 당연히 장단점 또한 존재..

브라우저는 어떻게 동작하는가? 브라우저는 사용자가 요청하여 받아온 HTML파일을 파싱하여 DOM 트리를 그리고, CSS 파일을 파싱하여 이를 결합한 후 렌더링을 하는 작업을 우리의 화면에 그려주게 된다. 브라우저가 DOM을 구현한다고 생각하면 조금이나마 DOM을 이해하는데 쉽다. HTML이란? HTML(HyperText Markup Language)은 웹 페이지를 위한 언어로, 특정 영역이 어떤 성질을 갖는지 미리 정해진 규칙에 따라 구조화된 요소들로 이루어진 마크업 언어이다. 마크업 언어는 태그()를 이용하여 데이터 구조를 명명하는 언어이므로, 태그 안에 담기는 요소들에 따라 영역의 성질이 달라지게 되고 각 영역들이 모여 구조화된 문서를 만든다. HTML은 인간이 이해하고 구분할 수 있는 언어로 만들어..