티스토리

-
검색하기

블로그 홈

-

yangheat.tistory.com/m

SunPark 님의 블로그입니다.

구독자
0
방명록 방문하기

주요 글 목록

  • [TypeScript] 클로저(closure) - 유효 범위 클로저 클로저는 지속되는 유효 범위(persistence scope)를 의미합니다. const add = (x: number) => {// 바깥쪽 유효 범위 시작 return (y:number): number => {// 안쪽 유효 범위 시작 return x + y;// 클로저 }// 안쪽 유효 범위 끝 }// 바깥쪽 유효 범위 끝 console.log(add(1)(2));// 3 다음과 같은 예에서 함수 안쪽 유효 범위만 놓고 본다면 'x'는 존재하지 않는 변수입니다. 이처럼 범위 안에서 의미를 알 수 없는 변수를 자유 변수(free variable)라고 합니다. 타입스크립트에서는 자유 변수가 존재한다면 바깥쪽 유효 범위에서 'x'라는 변수를 찾아 컴파일합니다. 따라서, 다음과 같이 사용하는 경우 'a.. 공감수 0 댓글수 0 2021. 7. 10.
  • [TypeScript] 커리(curry) - 함수에 가로 여러개 사용하는 경우 커리(curry)란 함수형 프로그래밍 언어에서 커리는 함수 호출 연산자를 연속해서 사용합니다. 일반적인 함수는 호출하는 경우 '함수명(변수)'와 같이 사용합니다. 커리를 이용하는 경우 다음 예시와 같이 '함수명(변수)(변수)'와 같이 사용할 수 있습니다. const add = (x: number) => { return (y:number): number => { return x + y; } } console.log(add(2)(3)); // 5 다음과 같이 부분적으로도 사용할 수 있습니다. const add1 = add(1); console.log(add1(2)); // 3 부분적으로 사용할 수 있는 이유는 클로저(closure)라는 유효 범위를 가지기 때문입니다. [TypeScript] 클로저(closu.. 공감수 0 댓글수 0 2021. 7. 10.
  • [TypeScript] 고차함수(high-order function) 2021.07.10 - [TypeScript] - [TypeScript] 커리(curry) - 함수에 가로 여러개 사용하는 경우 고차 함수란 어떤 함수가 또 다른 함수를 반환할 때 고차 함수라고 합니다. 1차 함수 함수가 아닌 단순히 값은 반환 2차 함수 1차 함수를 반환 n차 함수 n-1차 함수를 반환 1차 함수 const inc = (x: number): number => x + 1; console.log(inc(1));// 2 2차 함수 const add = (x: number) => { return (y:number): number => { return x + y; } } console.log(add(2)(3)); // 5 2차 함수를 호출할 때 'inc(2)(3)'과 같이 사용했는데 이는 커리(.. 공감수 0 댓글수 0 2021. 7. 10.
  • [Typescript] tsconfig.json 구성요소 //tsconfig.json { "compilerOptions": { "module": "commonjs", "esModuleInterop": true, "target": "es5", "moduleResolution": "node", "outDir": "dist", "baseUrl": ".", "sourceMap": true, "downlevelIteration": true, "noImplicitAny": false, "paths": {"*": ["node_modules/*"]} } } compierOptions tsc 명령 형식의 옵션 즉, 타입스크립트에서 자바스크립트로 변환하는데 사용되는 옵션 module tsconfig.ts 파일에서 compilerOptions 항목의 module 키는 동작 대상 .. 공감수 0 댓글수 0 2021. 6. 30.
  • [TypeScript] 깊은 복사와 얕은 복사 - 배열 복사 원본 유지 다음은 깊은 복사의 예입니다. let original = 1; let copied = original; copied += 4; console.log(original);// 1 console.log(copied);// 5 일반 변수는 다음과 같이 복사하는 경우 값만 복사가 되어 원본은 값은 유지가 됩니다. 즉, 원본과 복사본은 별개의 변수입니다. 다음은 얕은 복사의 예입니다. let originalArray = [1, 2, 3, 4, 5]; let copiedArray = originalArray; copiedArray[0] = 0; console.log(originalArray); // [ 0, 2, 3, 4, 5 ] console.log(copiedArray);// [ 0, 2, 3, 4, 5 ] or.. 공감수 0 댓글수 0 2021. 6. 26.
  • [TypeScript] 제네릭 방식 타입 - T에 관하여 제네릭 방식 타입은 T를 이용하여 타입을 변수화하여 사용할 수 있습니다. const arrayLength = (array: T[]): number => array.length; const alpha = ["A", "B", "C"]; const number = [1, 2, 3, 4]; console.log(arrayLength(alpha));// 3 console.log(arrayLength(number));// 4 즉, 'arrayLength(alpha)'의 T는 string이 되고 'arrayLength(number)'의 T는 number가 됩니다. 다음과 같은 형식으로 타입 변수를 생략할 수 있습니다. console.log(arrayLength(alpha));// 3 console.log(arrayL.. 공감수 0 댓글수 0 2021. 6. 25.
  • [TypeScript] for of 문 - 배열의 값으로 반복 for ... of 문은 배열의 값으로 반복한다. const alpha = ['A', 'B', 'C'] for (let data of alpha) { console.log(data); } // 결과 // "A" // "B" // "C" 공감수 0 댓글수 0 2021. 6. 25.
  • [TypeScript] for in 문 - 배열의 인덱스값을 반복 for ... in 문은 배열의 인덱스값을 반복한다. const alpha = ['A', 'B', 'C'] for (let index in alpha) { console.log(alpha[index]); } // 결과 // A // B // C 공감수 0 댓글수 0 2021. 6. 25.
  • [TypeScript] 객체 반환하는 함수 만들기 한줄로 함수를 만드는 경우 다음과 같이 만든다면 객체를 반환하지 않고 오류 발생한다. Left side of comma operator is unused and has no side effects. // Error const member = (name: string, age: number = 10): {name: string, age: number} => {name, age} 그 이유는 객체가 복합 실행문으로 컴파일러가 해석하기 때문이다. 따라서 객체를 반환시키기 위해서는 '()'를 사용하여 복합 실행문이 아니라는 것을 명시한다. const member = (name: string, age: number = 10): {name: string, age: number} => ({name, age}) cons.. 공감수 1 댓글수 0 2021. 6. 25.
  • [TypeScript] 단축 구문(shorthand) - {a:a, b:b} = {a, b} 단축 구문(shorthand)는 매개변수와 변수의 이름이 똑같은 경우 속성값의 부분을 생략하여 사용 const hi = (a: string, b: string) => { return {a, b}// {a: a, b: b} } console.log("hello", "world");// {"a": "hello", "b": "world"} 공감수 0 댓글수 0 2021. 6. 24.
  • [Typescript] 선택적 매개변수 사용 방법 - 매개변수 뒤에 물음표 함수의 매개변수에 물음표를 붙임으로써 매개변수를 선택적으로 사용 // case 1 function hi(a: string, b?: string) { console.log(a, b); } add("hello", "world!")// hello world! add("hello")// hello undefined // case 2 const hi => (a: string, b?: string) { console.log(a, b); } add("hello", "world!")// hello world! add("hello")// hello undefined 공감수 0 댓글수 0 2021. 6. 23.
    반응형
    문의안내
    • 티스토리
    • 로그인
    • 고객센터

    티스토리는 카카오에서 사랑을 담아 만듭니다.

    © Kakao Corp.