객체
객체는 NonPrimitive Type의 객체에 해당한다.
객체를 정의 하는 방식
let person= new Object();
//객체 생성자 방식
let person1={};
//객체 리터럴방식
대부분의 개발자들은 객체 리터럴 방식을 선호한다.
let person={
key:"value",//프로퍼티(객체 프로퍼티)
key1:"value2",
key2:true,
key3: undefined,
key4:[1,2],
key5: function(){}
};
//객체 리터럴방식
console.log(person);
객체에 해당하는 하나하나를 프로퍼티라고하며 갯수는 상관이 없다.
그리고 value에는 함수나 배열 등 다양한 자료형을 넣을 수 있다.
key는 문자열로 작성해야하며 key끼리 중복이 가능하지만 원하는 값을 찾기 위해서 다르게 하는 것이 좋다 .
객체의 프로퍼티에 접근하는 방법
1. 점표기법 : 다음과 같이 객체에 . 을 사용하면 key에 해당하는 value를 얻을 수 있다.
console.log(person.key);
--> value
2. 괄호표기법
console.log(person["key"]);
-->value
괄호 안에는 문자열로 작성해야한다.
const name ="name";
console.log(person[name]);
만약 [ ]안에 문자열로 작성하고 싶지 않다면 다음 처럼 상수안에 문자열을 넣어주면 된다.
프로퍼티를 생성이후에 프로퍼티를 CRUD하는 방법
let person={
name:"장도진",
age:26
};
person.location="서울"
person["gender"]="남성"
//create
person.name="진도장"
person["age"]=25;
//update
delete person.age
delete person['name'];
person.name=null;
//delete
console.log(person);
삭제하는 방식중에서 delete를 사용하면 메모리 자체를 사용해서 배열을 바꾸게 될 뿐 메모리 자체가 지워지지는 않는다는 단점이 있다.
그래서 그것 보다는 person.name=null 을 사용하여 객체에 null을 넣어버리는 방식을 사용하면 삭제와 같다.
메서드
let person={
name:"장도진",//멤버
age:26,//멤버
say: function(){
console.log("안녕 나는 ${this["name"]}") //여기서 this는 자기 자신을 가리키는 객체를 뜻한다.
}//메서드
};
person.say();
person["say"]();
in 연산자
console.log('name:${"name" in person}'); -->true
'개발 > javascript' 카테고리의 다른 글
[javascript] 응용1 (0) | 2023.07.04 |
---|---|
[javascript]기본정리5 (0) | 2023.07.03 |
[javascript]기본정리3 (0) | 2023.07.02 |
[javascript] 기본정리2 (0) | 2023.07.01 |
[javascript] 기본 정리1 (0) | 2023.07.01 |