Type annotations

타입스크립트에서 매개변수와 반환값이 어떤 type인지 설정하는 코드입니다.

Type inference

타입스크립트는 함수의 반환값 타입을 확인합니다.

Function

const add = (num1: number, num2: number): number => {
  return num1 + num2;
};

const subtract = (num1: number, num2: number): number => {
  return num1 - num2;
};

function divide(num1: number, num2: number): number {
  return num1 / num2;
}

function multiple(num1: number, num2: number): number {
  return num1 * num2;
}

const logger = (message: string): void => {
  console.log(message);
};

const throwError = (message: string): void => {
  if (message) throw new Error(message);
};
/*
const throwError = (message: string): never => {
  throw new Error(message);
};
 */

const todayForecast = {
  date: new Date(),
  weather: 'sunny',
};

const logWeather = ({
  date,
  weather,
}: {
  date: Date;
  weather: string;
}): void => {
  console.log(date, weather);
};

logWeather(todayForecast);

Object

const profile = {
  name: 'jinsu',
  age: 26,
  coords: {
    lat: 0,
    lng: 15,
  },
  setAge(age: number): void {
    this.age = age;
  },
};

const { age, name }: { age: number; name: string } = profile;
// const { age }: number = profile; errrrrror

const {
  coords: { lat, lng },
}: { coords: { lat: number; lng: number } } = profile;

Big O of Objects

  1. 삽입 O(1)
  2. 제거 O(1)
  3. 탐색 O(n)
  4. 접근 O(1)

Big O of Object mehtods

  1. Object.keys() O(n)
  2. Object.values() O(n)
  3. Object.entries() O(n)
  4. Object.hasOwnProperty("키 이름") O(1)

Big O of Arrays

  1. 탐색 O(n)
  2. 접근 O(1)

Big O of Array methods

  1. push O(1)
  2. pop O(1)
  3. shift O(n)
  4. unshift O(n)
  5. concat O(n)
  6. slice O(n)
  7. splice O(n)
  8. sort O(nlogn)
  9. forEach/map/filter/reduce 등 O(n)

'코딩 테스트 > 알고리즘' 카테고리의 다른 글

Problem Solving Approach  (0) 2020.07.09
자바스크립트. 문자 세기  (0) 2020.07.08
자바스크립트. 정렬 순서  (0) 2020.07.04
자바스크립트. for 반복문 수행시간 비교  (0) 2020.07.04
Big O Notation  (0) 2020.07.02

+ Recent posts