<객체>
- 이름(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 |