Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 생활패턴
- a태그
- 반복문
- 네트워크
- 페어프로그래밍
- 리액트
- cli
- 코딩테스트
- 와이어프레임
- 웹접근성
- GUI
- 야행성
- CSS
- jsx
- 자바스크립트
- DOM
- 재귀함수
- Semantic
- 숙면기원
- 조건문
- html5
- target="_blank"
- node.js
- display:flex
- 공부
- API
- HTTP
- javascript
- React
- 시멘틱
Archives
- Today
- Total
뉴비 개발자의 학습일기
[JavaScript]- 객체 기초 개념 본문
[ 객체 정의 ]
객체는 배열과 마찬가지로 다량의 데이터를 한 번에 다룰 수 있는 참조자료형 데이터이며, 0개 이상의 프로퍼티의 조합으로 이루어져 있습니다. 또한 프로퍼티는 키와 값의 조합으로 이루어져 있습니다.
예시)
let person = {
name: "객체",
}
//key: ( name ) value: ( "객체" )
//프로퍼티(속성) => 키 + 값
[ 객체와 배열의 비교 ]
배열이 데이터의 순서정보(index)를 가지고 있는 자료형이었다면, 객체는 데이터에 이름(key)을 부여할 수 있는 것이 특징인 자료형입니다. key를 이용해 데이터에 의미를 부여할 수 있고, key를 사용해 데이터에 접근할 수 있습니다.
1. JavaScript에서 사용할 수 있는 모든 타입의 값은 프로퍼티가 될 수 있습니다.
let myCatDoi = {
이름: "도이", // 문자열
개월: 11, // 숫자
중성화: true, // boolean
보유장난감: ["오뎅꼬치", "스프링", "낚싯대", "터널"], // 배열
집사 : {
name: "운도쌤",
company: "codestates"
}, // 객체
손: function() {
return `${this.개월}개월 된 고양이 ${this.이름}가 손을 내민다.`;
}, // 함수(메서드)
그루밍: function() {
return `${this.이름}는 마음을 안정시키기 위해 그루밍을 시작합니다.`
}
}
위 코드에서 볼 수 있는 것처럼 문자열과 숫자, boolean, 배열이나 또 다른 객체, 함수까지도 모두 프로퍼티가 될 수 있습니다.
2. 프로퍼티 참조하기(read)
프로퍼티를 참조하는 법은 2가지가 있습니다.
1) dot notation: 객체이름.key값
2) bracket notation: 객체이름["key값"]
let myCatDoi = {
이름: "도이"
}
console.log(myCatDoi.이름)
// 1) dot notation
console.log(myCatDoi["이름"])
// 2) bracket notation 사용시 반드시 문자열을 입력해야 합니다.
let 이름 = "이름";
console.log(myCatDoi[이름])
// 단, 문자열이 할당된 변수를 입력하는 것은 가능합니다.
3. 프로퍼티 추가, 삭제, 수정, 유무 확인하기
let myCatDoi = {
이름: "도이"
}
myCatDoi.성별 = "남";
// 프로퍼티 추가
myCatDoi.성별 = "여";
//프로퍼티 수정
delete myCatDoi.성별
//프로퍼티 삭제
console.log("이름" in myCadtDoi) -> true 출력
console.log("성별" in myCatDoi) -> false 출력
4. 객체 메서드
- Object.keys() -> key를 모아서 배열로 만들어줍니다.
- Object.values() -> value(값)을 모아서 배열로 만들어줍니다.
- Object.assign() -> 객체 합치기, 객체 복사에 사용합니다.
- Object.is(obj1, obj2) -> 두 객체가 같은지 비교합니다.
- for in 반복문
let obj = {
key1: "value1",
key2: "value2",
key3: "value3",
key4: "value4",
key5: "value5"
}
console.log(Object.keys(obj));
출력 -> // [ 'key1', 'key2', 'key3', 'key4', 'key5' ]
- Object.keys() 사용 예시
let obj = {
key1: "value1",
key2: "value2",
key3: "value3",
key4: "value4",
key5: "value5"
}
console.log(Object.values(obj));
출력 -> // [ 'value1', 'value2', 'value3', 'value4', 'value5' ]
- Object.values() 사용 예시
let user = {
name: 'kimcoding',
job: 'student'
};
let info = {
job: 'engineer', age: 25
};
let userInfo = Object.assign(user, info);
console.log(userInfo);
출력 -> // { name: 'kimcoding', job: 'engineer', age: 25 }
let userInfoAssign = Object.assign({}, userInfo);
console.log(userInfoAssign);
출력 -> // { name: 'kimcoding', job: 'engineer', age: 25 }
// arr.slice()처럼 복사하기 위한 용도로 사용할 수 있습니다.
- Object.assign() 사용 예시
console.log(Object.is(userInfo, userInfoAssign));
출력 -> false // 두 객체를 구성하는 키와 값이 완전히 동일하지만, 주소값이 다르기 때문에 결과는 false이다.//
console.log(Object.is({}, {});
출력 -> false // 마찬가지로 빈 객체를 비교해보아도 false가 나온다.//
- Object.is() 사용 예시
'프론트엔드 과거의 흔적' 카테고리의 다른 글
[2023.03.06]-Node.js 기반 테스트프레임워크 mocha를 활용한 과제 (0) | 2023.03.06 |
---|---|
[ JavaScript ] - 원시 자료형과 참조 자료형 (0) | 2023.03.02 |
[2023.02.24]-Linux/Git 기초(CLI 명령어 및 패키지매니저) (0) | 2023.02.24 |
[2023.02.23]-웹에서 작동하는 계산기 기능 일부 구현하기 (0) | 2023.02.23 |
[2023.02.22]-조건문과 반복문 연습 문제 풀이 (0) | 2023.02.22 |