[정규표현식]
·
카테고리 없음
A를 #으로 대문자로 이루어진 영어단어가 입력되면 단어에 포함된 'A'를 모두 '#'으로 바꾸어 출력하는 프로그램을 작성하세요. 입력설명 첫 번재 줄에 문자열이 입력된다. 출력설명 첫 번째 줄에 바뀐 단어를 출력한다. 입력예제 1 BANANA 출력예제 1 B#N#N# 해당 문제를 정규표현식으로 풀어보겠다. 'BANANA'.replaceAll(/A/ig, '#'); 가 된다. 무슨 의미일까? 일단 //는 정규표현식의 시작과 끝을 의미하는 것이고 그리고 g는 glbal: 모든 문자 검색 i는 ignore Case: 대소문자 구분 안함이다. 그렇게 된다면 'BANANA'.replace(/A/g, '#')로 될 수도 있다.
[번역]BABEL 사용 가이드
·
카테고리 없음
영문 사이트: https://babeljs.io/docs/en/usage babel 툴체인에는 엔드유저(최종 사용자)이든 babel 자체의 통합을 구축하든 babel을 쉽게 사용할 수 있도록 하는 도구가 꽤 많습니다. 이제 이러한 도구에 대해 간단히 소개하겠습니다. 아래의 내용을 간단하게 요약해 보았습니다. - babel: 새로운 문법이나 타입스크립트 혹은 JSX 같은 다른 언어로 분류되는 언어들에 대해서도 모든 브라우저에서 동작할 수 있도록 호환성을 지켜줍니다. 즉, 위와 같은 기술들이 모든 브라우저에서 작동되는 하위버전의 자바스크립트 언어로 변환되는 자바스크립트 컴파일러이다. babel 버전 7이후로는 @bable모듈 아래로 필요한 모듈들이 세분화 되어 npm에 배포되어 있다. - pugin: 바벨에..
[TS]타입 단언
·
카테고리 없음
개발자가 해당 타입에 대해 확신이 있을 대 사용하는 타입지정 방식 let shouldString: any = 'hi'; let stringLength: number = (shouldString).length; // 또는 let shouldString: any = 'hi'; let stringLength: number = (shouldString as string).length;
[TS]인터페이스
·
카테고리 없음
인터페이스: 상호 간에 정의한 약속 혹은 규칙 // 인터페이스에 정의된 속성, 타입의 조건만 만족한다면 객체의 속성 갯수가 더 많아도 상관없음 // 인터페이스에 선언된 속성 순서를 지키지 않아도 된다. interface personAge { age: number; } function logAge(obj: personAge) { console.log(obj.age); } let person = { name: 'Capt', age: 28 }; logAge(person); 약속정의 객체의 스팩(속성과 속성의 타입) 함수의 파라미터 1. 옵션 속성 // 속성 끝에 ?를 붙이면 해당 속성은 작성하지 않아도 된다. inerface CraftBeer { name: string; hop?: number; } let m..
[TS]기본타입
·
카테고리 없음
타입 타입 의미 1 Boolean 진위값 2 Number 숫자 3 String 문자열 4 Object 객체 5 Array 배열 6 Tupple 배열의 길이가 고정되고 각 요소의 타입이 지정되어 있는 배열 7 Enum 특정 값(상수)들의 집합 8 Any 모든 타입 허용 9 Null (JS)사용자가 변수에 값이 없다는 것을 의도적으로 명시 10 Undefined (JS) 자바스크립트 엔진이 변수에 암묵적으로 undefined 초기화 11 Void 함수의 반환값을 설정할 수 없음 12 Never 함수의 끝에 도달하지 않음 1. String 자바스크립트 변수타입이 문자열인 경우 let str: string = 'hi'; 2. Number 자바스크립트 변수 타입이 숫자일 경우 let num: number = 10..
토큰 만료 갱신
·
JS소스모듈
import axios from 'axios'; let isRefreshing = false; let pendingQueue = []; const processQueue = (error, token = null) => { pendingQueue.forEach(prom => { if (error) { prom.reject(error) } else { prom.resolve(token) } }) pendingQueue = [] } const axiosJwt = axios.create({ baseURL: process.env.NODE_ENV === 'development' ? process.env.APP_AXIOS_URL : config.BASE_URL; }) axiosJwt.interceptors.reque..
[TS]인터페이스
·
타입스크립트
인터페이스 상호 간에 정의한 약속 혹은 규칙 객체의 스팩(속성과 속성의 타입) 함수의 파라미터 함수의 스펙(파라미터, 반환 타입 등) 배열과 객체를 접근하는 방식 클래스 let person = { name: 'capt', age: 28 }; function logAge(obj: { age: number }) { console.log(obj.age); // 28 } logAge(person); // 28 interface personAge { age: number; } function logAge(obj: personAge) { console.log(obj.age); } let person = { name: 'Capt', age: 28 }; logAge(person); 타입단언(type assertion)..
[TS] 함수
·
카테고리 없음
함수에서 세가지 타입을 정의할 수 있다. 함수의 파라미터(매개변수) 타입 함수의 반환 타입 함수의 구조 타입 함수의 인자 타입스크립트에서는 함수의 인자를 모두 필수 값으로 간주. 매개변수를 설정하면 undefined나 null이라도 인자로 넘겨야 한다. 컴파일러에서 정의된 매개변수 값이 넘어 왔는지 확인. 정의된 매개변수 값만 받을 수 있고 추가로 인자를 받을 수 없다. function sum(a: number, b: number): number { return a + b; } sum(10, 20); // 30 sum(10, 20, 30); // error, too many parameters sum(10); // error, too few parameters 만약 정의된 매개변수의 갯수 만큼 넘기지 않..