TIL: Java Script Basics 3

이다연·2020년 11월 21일
0

object & property 객체와 속성

"자바스크립트의 모든 것이 다 객체다!"

let shopping ={
  year: 2020,
 'is Nice': true,
 'brand-Name': 'emart',
 best_product: {
 	food: 'sushi',
    fruit: 'pineapple'
   }
}

key(property name): value(property value)

  • property name:
    -string, 암묵적으로 문자열 형변환 함으로 따옴표 생략 가능
    -항상 문자, _밑줄, $ 기호로 시작해야함
    -숫자, 띄어쓰기 금지, 하이픈 금지 (-) -> 따옴표로 감싸면 사용가능

  • property value:
    자료형 상관없음, 다른 객체도 들어 갈 수 있음

  • type of 로 출력하면 object 자료형 나옴

-객체는 변수에 담겨서 이름을 만든다.

객체 접근법

  1. 점 표기법
    console.log(shopping.year); //출력 2020

  2. 대괄호 표기법
    console.log(shopping['is Nice']); //출력 true
    -따옴표로 감싼 금지 naming도 대괄호 이용하면 사용가능

  3. 객체안의 객체 접근법
    console.log(shopping.best_product.food); //출력 sushi

객체 프로퍼티 수정, 추가, 삭제

  • 수정
  //점
  shopping.year = 2013; //출력: 위 코드와 연결, 2020 에서 2013으로 바뀜
  console.log(shopping.year) 
  
  //대괄호
  console.log(shopping['brand-Name']) 
  shopping['brand-Name'] = 'home-plus' 
  console.log(shopping['brand-Name']) //emart 에서 homeplus 로 출력
  • 추가
 shopping.ceo = '정용진';
 console.log(shopping.ceo)
  • 삭제
 delete shopping.year;

in 연산자

'propertyName' in object 존재여부 판단

  console.log('ceo' in shopping); //출력: true

불린 형태로 값 출력

객체와 메소드 Method

연관성있는 여러 함수를 묶고 싶을 때
메소드는 어떤 객체의 고유 동작으로서 객체에 의미를 부여함

파라미터로 다른 변수에 담긴 값을 가져올 때는 대괄호 표기법 사용해야함.

이미 익숙한 console.log도 메소드
console 이라는 객체에
log라는 메쏘드

console.log(hi)

e.g.

  let greetings = {
    sayHello: function() {
      console.log('Hello');
    },
    sayBye: function() {
      console.log('Bye');
    }
  };

  greetings['sayBye']();

for..in

객체 안의 프로퍼티를 가지고 반복문을 만듦

for (변수 in 객체) {
동작부분
}

let shop ={
 year: 2020,
'is Nice': true,
'brand-Name': 'emart',
 best_product: 'food'
}

for (let k in shop) {
	console.log(k);
   console.log(shop[k]);
}

-정수형 (1,2,3...) 프로퍼티 네임은 오름차순으로 정렬되어 출력됨. 일반적으로 잘 사용하지 않음.
-숫자형은 문자열로 형 변환 되어 사용됨

Date 객체

내장 객체 Standard built-in object

날짜

//현재
let myDate = new Date();
console.log(myDate)

//지정
let myDate = new Date('2020-11-11');
console.log(myDate)

연관 메소드: getFullYear(), getMonth(), getDate() ...

주의:
0월이 January
date 일자
day 요일 (월화수목~)

profile
Dayeon Lee | Django & Python Web Developer

0개의 댓글