본문 바로가기
javascript

객체, 객체 생성자 함수

by 신방동불주먹 2022. 11. 14.

<객체>

  • 이름(key,name)과 값(value)로 구성된 프로퍼티의 집합
  • 원시타입(primitive type)을 제외한 모든 것이 객체(Object)

 

<프로퍼티 참조방식>

1. object.property (Dot Notation)
 
2. object['property'] (Bracket Notation)

 

 

<생성>

1. key : value

let obj={
	cat:"mcow",
   	 dog:"woof"
   }

 

2. 값이 없는 빈 객체 생성

 

let animal = new Object();
animal.cat="meow";
animal.dog="woof";
animal.cow="moo";

console.log(animal.dog);

 

3. 객체 생성자 함수

  • function 키워드 사용
  • 생성해야 사용이 가능하다(new)
  • java의 생성자 매개변수와 같은 의미, 초기화
  • 함수와 구별하기 위해 객체는 대문자로 시작

 

//초기화  
        function Animal(name,sound){
            this.name = name;
            this.sound = sound;
    

//함수형 객체생성방식은 = 을 사용
        this.animal = function(){
                return `현재 동물은 ${this.name}과 ${this.sound}이 있습니다.`;
            }
        }

//생성
        let cat = new Animal("cat","meow");
        let dog = new Animal("dog","woof");
        
        console.log(cat.animal());
        console.log(dog.animal());

 

<객체의 사용(참조)>

 

1. Dot Notation 방식

  • 참조변수.property (참조하는 것은이다.)
        console.log(obj.dog)
        console.log(obj.cat)

 

2. Bracket Notation 방식

  • key 값을 문자열로 입력
console.log(obj["cat"]);
console.log(obj["dog"]);

 

  • bracket 방식은 변수에 문자열을 넣어 변수명으로 사용이 가능
let cat = "cat";
let dog = "dog";
console.log(obj[cat]);
console.log(obj[dog]);

 

 

<객체에 값 추가>

 

obj.cow="moo";
obj["pig"] = "onik";

console.log(obj.cow);
console.log(obj.pig);

 

 

<객체에 값 삭제>

  • delete
delete obj.cat;
console.log(obj.cat); //undefined

 

<객체에 값 수정>

obj.cat = "abc";
console.log(obj.cat);

 

 

<객체 데이터 조회>

  • for in 문
  • 반환되는 값이 키값
 for(let key in obj){
     console.log(`key는 ${key}, value는 ${obj[key]}`)
   }

 

 

<익명함수 정의>

 

  • ``(백틱) : 템플릿 리터럴 - 내장된 표현식을 허용하는 문자열 리터럴
  • this는 현재 객체가 정의 되어있는 변수를 의미한다.
 let obj = {
            cat:"mcow",
            dog:"woof",
            animal:function(){
                return `현재 동물은 ${this.cat}과 ${this.dog}이 있습니다.`;
            }
        }

 

  • 객체 내부에 있는 함수를 호출
console.log(obj.animal());

'javascript' 카테고리의 다른 글

내장객체_날짜(Date()), 수학객체(Math())  (0) 2022.11.15
1114_함수정의  (0) 2022.11.15
BOM(Browser Object Model) 브라우저 객체 모델  (0) 2022.11.14
내장객체_배열(Array)  (0) 2022.11.14
1109_변수  (0) 2022.11.09