본문 바로가기

개발/javascript

[javascript]기본정리4

객체

객체는 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