[TIL] TS 기초 연습중

곽재훈·2024년 6월 24일
3
post-thumbnail
- 6강
  문제 1번
  type Item = string | number;
  function stringToNumber(arr: Item[]) {
    return arr.map((item) => {
      if (typeof item === "string") {
        return Number(item);
      }
      return item;
    });
  }
  const newArr = stringToNumber([1, 5, "3"]);
  return (
    <>
      {newArr.map((item) => (
        <h1>{item}</h1>
      ))}
    </>
  );
  문제 2const teacher1 = { subject: "math" };
  const teacher2 = { subject: ["science", "english"] };
  const teacher3 = { subject: ["science", "art", "korean"] };
  function getLastSubject(teacher: { subject: string | string[] }) {
    const { subject } = teacher;
    console.log(subject);
    if (Array.isArray(subject)) {
      return subject[subject.length - 1];
    } else if (typeof subject === "string") {
      return subject;
    } else {
      return "없음";
    }
  }
  const result1 = getLastSubject(teacher1);
  const result2 = getLastSubject(teacher2);
  const result3 = getLastSubject(teacher3);
  console.log(result1, result2, result3);
  - 7강
  type A = {
    a: string;
    b: string;
  };
  type B = {
    b: string;
    c: string;
  };
  type C = A & B;
  const someObj: C = {
    a: "a",
    b: "b",
    c: "c",
  };
  console.log(someObj);
  type SomeType = {
    color?: string;
    size: number;
    readonly position: number[];
  };
  type Info = {
    name: string,
    phone: number,
    email: string,
  }
  type UserInfo = {
    isAdult:boolean,
  } & Info;
  - 8강
  type Word = "가위" | "바위" | "보";

  function getRockScissorsPaper(word: Word): Word[] {
    return [word];
  }
  getRockScissorsPaper("가위");
profile
개발하고 싶은 국문과 머시기

0개의 댓글

관련 채용 정보