본문 바로가기

Language/JS

Object 객체

Java의 객체랑은 다른 느낌. 여긴 클래스라는 설계도도 없고, 매소드도 저장 안함. 

C++의 Struct랑 비슷한 개념이다. 멤버를 key : "Value" 형식으로 넣는다. 

1. 특징 

(1) 객체 내부의 멤버들 사이에 정해진 순서가 없다. 

따라서 출력 시 무작위 순서로 나온다.

 

(2) 만약 객체 내부에 같은 이름의 Key를 다시 선언 한다면, 제일 최근에 선언한 Key의 Value 값으로 Value가 갱신 된다. 

user ={
	name = "Quan xiu Min"
    age = 87
    age = 27
}

// age 출력시 27이 나온다.

2. 형식

/* Object 객체 생성 방법 3가지 */
	// 1. Object() 생성자 함수 사용

      user = Object()

      user.name ="SooMin"
      user.age = 27

      console.log(user)
      // 2. function 함수 생성기를 통해 직접 User라는 객체 만들어서 이용 
      
      function User2 () {
        this.name ="MinHyuk"
        this.age = 27
      }

      // 객체 생성 
        user = new User2()
        console.log(user)


      // 3. {} 중괄호 리터럴 이용
      
      user = {
        name: "Sangro",
        age : 27}
      
      console.log(user)
  
  /* 객체 내 멤버들에 접근 하는 법 2가지 */
    // 1. 점 표기법

    console.log(user.name)
      
    // 2. [] 표기법
      
    console.log(user["age"])
    
    // 이와 같이 [] 표기법은 안에 변수를 넣어 표현할 수도 있다. 점 표기법은 못함.  
    const key ="name"
    console.log(user[key])

  /* 객체의 parents 속성 */

  userA = {
    name: "Jack",
    age: 33

  }

  userB = {
    name: "Jacob",
    age: 10,
    parent: userA
  }

  /* 객체가 요소인 배열 */
  userArray = [userA, userB]
  
  /*이중 인덱싱 */
    // 1. 부모 요소로 타고 들어가 부모 객체의 요소 보기 
    console.log(userB.parent.name)
    console.log(userB["parent"]["age"])
    console.log(userB["parent"].name)

    // 2. 배열의 요소 타고 들어가 그 요소의 요소 보기 
    console.log(userArray[0].name)

**주의** 

대괄호 표기법으로 객체의 멤버 인덱싱 할 경우, 

[] 안에 key 값을 문자열 형태 "name", "parent" 같은 형식으로 적어줘야 한다!  

'Language > JS' 카테고리의 다른 글

일치 연산자와 동등 연산자  (0) 2023.03.23
Function  (0) 2023.03.23
JS에서의 배열  (0) 2023.03.23
var-let-const 차이, Boolean, Undefined 와 Null 의 차이  (0) 2023.03.23
String 형 변수, Number형 변수 선언  (0) 2023.03.23