WEB/JS

JS 객체

Hard_Try 2021. 1. 4. 22:58

Property Name 주의사항

  1. 첫 번째 글자는 반드시 문자, 언더바(_), 달러 기호($) 중 하나로 시작한다.
  1. 띄어쓰기 금지
  1. 하이픈(-) 금지


객체 데이터 접근

점 표기법

console.log(user.name);

대괄호 표기법

console.log(user[name]); // 1

let propertyName = 'name'; // 2
console.log(user[propertyName]);

console.log(user.course.title); // 3
console.log(user.course['title']); // 4

Key, Value 예시

let myVoca = {
  function: '함수',
  variable: '변수',
  constant: '상수',
  local: '지역의',
  global: '전반적인'
}

console.log(myVoca);
console.log(myVoca.local);
console.log(myVoca.constant);
console.log(myVoca.function);


객체와 메소드 예시

let myVoca = {
  addVoca: function(word, mean) {
    myVoca[word] = mean;
  },
  deleteVoca: function(word) {
    delete myVoca[word];
  },
  printVoca: function(word) {
    console.log(`"${word}"의 뜻은 "${myVoca[word]}"입니다.`);
  }
}

// addVoca 메소드 테스트 코드
myVoca.addVoca('parameter', '매개 변수');
myVoca.addVoca('element', '요소');
myVoca.addVoca('property', '속성');
console.log(myVoca);

// deleteVoca 메소드 테스트 코드
myVoca.deleteVoca('parameter');
myVoca.deleteVoca('element');
console.log(myVoca);

// printVoca 메소드 테스트 코드
myVoca.printVoca('property');

객체 for.. in.. 문 예시

let hyesoonScore = {
	'데이터 모델링의 이해': 10,
	'데이터 모델과 성능': 8,
	'SQL 기본': 22,
	'SQL 활용': 18,
	'SQL 최적화 기본 원리': 20
};

let minsoonScore = {
	'데이터 모델링의 이해': 14,
	'데이터 모델과 성능': 8,
	'SQL 기본': 12,
	'SQL 활용': 4,
	'SQL 최적화 기본 원리': 16
};

function passChecker(scoreObject) {
  let result = 0;
	// 여기에 코드를 작성해 주세요.
  for (let subject in scoreObject) {
    result += scoreObject[subject];
  }
  if (result >= 60) {
    console.log('축하합니다! 합격입니다!');
  } else {
    console.log('아쉽지만 불합격입니다..');
  }
}

passChecker(hyesoonScore);
passChecker(minsoonScore);


Date 객체

Date를 나타낼 수 있는 다양한 방법

let date1 = new Date('12/15/1999 05:25:30');
let date2 = new Date('December 15, 1999 05:25:30');
let date3 = new Date('Dec 15 1999 05:25:30');

Date 활용 예시

let today = new Date(2112, 8, 24);
let jaeSangStart = new Date(2109, 7, 1);

function workDayCalc(startDate) {
  // 여기에 코드를 작성해 주세요.
  timeDiff = today - startDate;
	console.log(`오늘은 입사한 지 ${timeDiff / 1000 / 60 / 60 / 24 + 1}일째 되는 날 입니다.`)
}

workDayCalc(jaeSangStart);