CodingTest/TypeScript Q(5)
-
[TypeScript] tuple type으로 타입지정 문제
(문제1) 여러분이 최근에 사먹은 음식의 1. 이름 2. 가격 3. 맛있는지여부를 array 자료에 담아보고 타입지정까지 해보십시오. 오늘 배운 tuple 타입으로 타입지정합시다. 쉬워서 답은 생략합니다. (예시) [ '동서녹차', 4000, true ] 이런 자료 만들고 타입지정하라는 소리입니다. let arr :[string, number, boolean] = [ '동서녹차', 4000, true ] (숙제2) 이렇게 생긴 자료는 타입지정 어떻게 해야할까요? let arr = ['동서녹차', 4000, true, false, true, true, false, true] 몇개인지는 모르겠지만 true와 false가 셋째 자료부터 잔뜩 들어올 수 있다고 합니다. tuple 타입과 spread 연산자를 써..
2022.12.31 -
[TypeScript] 파라미터로 입력하는 Generic 문제
(문제1) 문자를 집어넣으면 문자의 갯수, array를 집어넣으면 array안의 자료 갯수를 콘솔창에 출력해주는 함수는 어떻게 만들까요? (조건) Generic을 이용해서 구현해보도록 합시다. (동작 예시) 함수('hello') 이렇게 사용하면 콘솔창에 5가 나와야합니다. 함수( ['kim', 'park'] ) 이렇게 사용하면 콘솔창에 2가 나와야합니다. 더보기 function 함수(x: MyType) { console.log(x.length) } 함수('hello'); 함수(['kim','park']) 1. 안에 타입을 집어넣을 수 있는 함수를 만들었습니다. 그리고 기능은 심플한데 x.length를 출력해줍니다. 2. 근데 에러가 납니다. x에 뭐가 들어올지 모르니까 미리 에러를 내주고 있습니다. 3...
2022.12.30 -
[TypeScript] 타입을 import export namespace 문제
(문제1) Car 와 Bike 타입을 index.ts에 만들어놨는데 서식이 복잡해서 다른 파일로 옮겨서 사용하고 싶습니다. 코드를 다른 파일에 저장하여 index.ts에서 가져와서 변수만들 때 사용해보십시오. (index.ts) type Car = { wheel : number, model : string } interface Bike { wheel : 2, model : string } 더보기 타입담아둘 파일 (post.ts) export type Car = { wheel : number, model : string } export interface Bike { wheel : 2, model : string } 가져다쓰는 파일 (index.ts) import {Car, Bike} from './a' l..
2022.12.30 -
[TypeScript] 함수 rest 파라미터, object array destructuring 문제
(문제1) 숫자 여러개를 입력하면 최댓값을 return 해주는 함수를 만들어봅시다. 최댓값(6,3,7,2) 이렇게 쓰면 7이 return 되어야합니다. (조건1) 넣을 수 있는 숫자 갯수는 제한없음, 0 이상의 정수만 가능합니다. (조건2) Math.max() 사용금지 반복문으로 만들어보세요 더보기 function 최댓값(...x : number[]) { let result = 0; x.forEach((i)=>{ if (result < i) { result = i } }) return result; } console.log(최댓값(4,6,3,2)) 1. 함수를 만들었는데 파라미터 하나를 입력가능하게 만들었습니다. 근데 rest 파라미터라서 개많이 입력가능 2. 변수하나 만들었습니다. result = 0 ..
2022.12.30 -
[TypeScript] Narrowing 문제
(문제1) 숫자여러개를 array 자료에 저장해놨는데 가끔 '4', '5' 이런 식의 문자타입의 숫자가 발견되고 있습니다. 이걸 클리닝해주는 함수가 필요합니다. 클리닝함수( ['1', 2, '3'] ) 이렇게 숫자와 문자가 섞인 array를 입력하면 [1,2,3] 이렇게 숫자로 깔끔하게 변환되어 나오는 클리닝함수를 만들어오고 타입지정까지 확실히 해보십시오. 더보기 function 클리닝함수(a :(number|string)[]){ let 클리닝완료된거 :number[] = []; a.forEach((b)=>{ if (typeof b === 'string') { 클리닝완료된거.push(parseFloat(b)) } else { 클리닝완료된거.push(b) } }) return 클리닝완료된거 } consol..
2022.12.29