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 |