본문 바로가기

전체 글37

TypeScript #5 리터럴, 유니온/교차 타입 // Literal Typesconst userName1 = "Bob" // userName1에 마우스를 올려보면 "Bob"이라고 나온다. 변화할 수 없으니 Bob이외의 값은 넣을 수 없다.// userName1처럼 정해진 string값을 가진 것을 문자열 리터럴 타입이라고 한다.let userName2 = "Tom" // 반면 userName2는 언제든 변화할 수 있으니 넓은 개념의 string타입으로 정의된다.userName2 = 3 // string타입이므로 에러가 난다let userName3: string | number = "Andy"userName3 = 3 // 숫자도 넣을 수 있게 해주려면 명시적으로 작성해 주어야 한다.type Job = "police" | "developer" | "tea.. 2024. 5. 16.
npm과 yarn의 차이 NPM vs Yarn - npm : Node module을 관리하기 위해서 만들어진 근본 툴이라고 생각하면 된다.node를 설치하면 자동적으로 설치가 되서 node -v로 체크가 가능하다.npm이라는 툴이 굉장히 좋은 툴이지만 좀 느린 편이다.느린 이유는 지금은 해결이 되었을지 모르지만 npm은 순차적 처리가 기본이다.설치해야 될 모듈이 100개면 100개를 하나씩 다 설치하는 구조이다. - yarn : 페이스북에서 만든 오픈소스, 훨씬 빨리 모듈들을 설치하는 방식으로 구현되어 있다.패키지 인스톨 속도도 빠르고, 관리할 때 에러가 나오는 경우도 좀 적다.(명령어도 짧아서 편하다 ㅋㅋ) 둘 다 좋은 툴이고 어떤걸 사용해도 상관은 없다.다만 나 같은 초보개발자들이 주의해야 할 점은 하나를 사용하면 그거를 계.. 2024. 5. 16.
[프로그래머스] 햄버거 만들기 JavaScript 문제 설명햄버거 가게에서 일을 하는 상수는 햄버거를 포장하는 일을 합니다. 함께 일을 하는 다른 직원들이 햄버거에 들어갈 재료를 조리해 주면 조리된 순서대로 상수의 앞에 아래서부터 위로 쌓이게 되고, 상수는 순서에 맞게 쌓여서 완성된 햄버거를 따로 옮겨 포장을 하게 됩니다. 상수가 일하는 가게는 정해진 순서(아래서부터, 빵 – 야채 – 고기 - 빵)로 쌓인 햄버거만 포장을 합니다. 상수는 손이 굉장히 빠르기 때문에 상수가 포장하는 동안 속 재료가 추가적으로 들어오는 일은 없으며, 재료의 높이는 무시하여 재료가 높이 쌓여서 일이 힘들어지는 경우는 없습니다.예를 들어, 상수의 앞에 쌓이는 재료의 순서가 [야채, 빵, 빵, 야채, 고기, 빵, 야채, 고기, 빵]일 때, 상수는 여섯 번째 재료가 쌓였을 때, 세.. 2024. 5. 14.
[프로그래머스]괄호 회전하기 Javascript 1. 문제 설명[](){} 이러한 형태의 문자열이 주어진다. 그리고 문자열을 왼쪽으로 x만큼 회전시킨다.0번만큼 회전시키면 그대로, 1번만큼 회전시키면 ](){}[ 이 된다.이런식으로 문자열의 길이-1 까지 계속 회전시킨다.각각 회전시킨 문자열에 대해 올바른 문자열인지 확인한다.올바른 문자열의 조건은 문제에서 다음과 같다.(), [], {} 는 모두 올바른 괄호 문자열입니다.만약 A가 올바른 괄호 문자열이라면, (A), [A], {A} 도 올바른 괄호 문자열입니다. 예를 들어, [] 가 올바른 괄호 문자열이므로, ([]) 도 올바른 괄호 문자열입니다.만약 A, B가 올바른 괄호 문자열이라면, AB 도 올바른 괄호 문자열입니다. 예를 들어, {} 와 ([]) 가 올바른 괄호 문자열이므로, {}([]) 도 .. 2024. 5. 14.
Typescript #4 함수 타입스크립트 함수에 대해 알아보자.// 함수가 반환하는 타입을 적어주면 된다function add(num1:number, num2:number): number{ return num1 + num2;}// 아무것도 리턴해주지 않으면 void라고 적어주면 된다function add2(num1:number, num2:number): void{ // return num1 + num2; console.log(num1+num2)}// 원하는 리턴 타입을 넣어준다function isAdult(age: number): boolean { return age > 19;}// 인터페이스처럼 함수의 매개변수도 옵셔널(?)로 지정할 수 있다.function hello(name: string) { return `Hello.. 2024. 5. 3.
Typescript #3 인터페이스(interface) 타입스크립트 인터페이스에 대해 알아보자.let user:object;user = { name: 'xx', age: 30}console.log(user.name) // user의 name을 찍어보면 에러가 발생한다. 오브젝트에는 특정 속성값의 정보가 없기 때문이다.// 이렇게 프로퍼티를 정의해서 객체로 표현하고자 할 때는 인터페이스를 사용한다.// 1. 인터페이스 사용 예제type Score = 'A'|'B'|'C'|'F'; // 타입을 만들어서 지정할 수 있다.interface User { name : string; age : number; gender? : string; // 있어도 되고 없어도 되는 옵셔널한 프로퍼티이다. ? 사용 readonly birthYear : number; [gr.. 2024. 5. 3.