DAY 11 - javascript

연주·2022년 11월 27일
0

TIL

목록 보기
19/37

22.11.24 목

DAY 11 - javascript (기초다지기)

📌 구조분해할당

📖 풀어보기

✏️ 구조 분해 할당

let user = {
  name: "John",
  years: 30
};
  • name 프로퍼티의 값을 변수 name에 할당하세요.
  • years 프로퍼티의 값을 변수 age에 할당하세요.
  • isAdmin 프로퍼티의 값을 변수 isAdmin에 할당하세요. isAdmin이라는 프로퍼티가 없으면 false를 할당하세요.

➡️

let { name, year : age, isAdmin = false} = user

굿~~!

✏️ 최대 급여 계산하기

let salaries = {
  "John": 100,
  "Pete": 300,
  "Mary": 250
};
  • 가장 많은 급여를 받는 사람의 이름을 반환해주는 함수 topSalary(salaries)를 만들어봅시다. 조건은 아래와 같습니다.

  • salaries가 비어있으면 함수는 null을 반환해야 합니다.

  • 최대 급여를 받는 사람이 여러 명이라면 그 중 아무나 한 명 반환하면 됩니다.
    힌트: Object.entries와 구조 분해를 사용해 키-값 쌍을 순회하는 방식을 사용해보세요.

➡️

for (let [key, value] of Object.entries(salaries)) {
  console.log(value);
}
// 키 값을 구조분해 했는데, 다음에 어떻게 해야할지??
function topSalary(salaries) {

  let max = 0;
  let maxName = null;

  for(const [name, salary] of Object.entries(salaries)) {
    if (max < salary) {
      max = salary;
      maxName = name;
    }
  }

  return maxName;
}
// 배열을 순회하면서, max의 값이 크면 max에 저장해서 모든 값을 비교할 수 있게하였다.
// 가장 큰 값의 name을 추출해서 리턴한다!

📌Date 객체와 날짜

📖 풀어보기
✏️날짜 생성하기

  • 2012년 2월 20일, 오전 3시 12분을 나타내는 Date 객체를 만들어보세요(시간대는 로컬).
  • 그리고 alert 함수를 이용해 생성한 객체를 출력하세요.
let date = new Date(2012, 1, 20, 3, 12);

✏️ 요일 보여주기
날짜를 입력하면 ‘MO’, ‘TU’, ‘WE’, ‘TH’, ‘FR’, ‘SA’, ‘SU’ 형식으로 요일을 보여주는 함수 getWeekDay(date)를 만들어보세요.

예시:

let date = new Date(2012, 0, 3);  // 2012년 1월 3일
alert( getWeekDay(date) );        // "TU"가 출력되어야 합니다.

➡️

let date = new Date(2012, 0, 3);  // 2012년 1월 3일
function getWeekDay(date){
  let day= ['SU','MO', 'TU', 'WE','TH', 'FR', 'SA']
 return day[date.getDay()]
  }



alert( getWeekDay(date) );  

// 굿!!

✏️ 유럽 기준 달력
-유럽국가의 달력은 월요일부터 시작합니다(월요일-1, 화요일-2, … 일요일-7). ‘유럽’ 기준 숫자를 반환해주는 함수 getLocalDay(date)를 만들어보세요.

let date = new Date(2019, 11, 5);  // 2019년 11월 5일
alert( getLocalDay(date) );       // 금요일이므로, 5가 출력되어야 함

➡️

function getLocalDay (date) {
  return date.getDay(date) + 1
}

// 굿!


💬 오늘의 느낀점
구조분해할당이 중요하다고 생각했는데, 자주 쓰면 좋을 거 같다.
맨날 활용을 못 했던거 같다.
date()를 아직 쓸 일이 없었는데, 미리 알아둘 수 있어서 좋았다!!
문제는 내일 마저 풀기!!


++
🗣 강사님 feedback!

  • 자바스크립트는 시간 데이터를 별도로 인스턴스(생성자 함수에서 만들어낸 객체)로 가져오는 방식을 채택하고 있어서 new Date() 라는 방식을 사용하고
  • 파이썬은 생성자함수가 아닌 다른 별도의 모듈로 구성되어있음 datetime 이라는 이름의
profile
성장중인 개발자🫰

0개의 댓글