객체 (object)
입력해야 하는 데이터의 종류가 동일한 경우 객체를 사용하면 손쉽게 데이터를 관리할 수 있습니다.
이렇게 공통적인 속성을 가지는 경우 객체를 사용해야 합니다.
객체는 0개 이상의 프로퍼티의 조합으로 되어있다.
# property
프로퍼티란 속성이란 뜻으로 자바스크립트에서 객체 내부의 속성을 의미한다.
객체는 프로퍼티로 구성된다.
프로퍼티는 key : value 의 형식으로 객체 안의 콤마(,)로 구분되어 할당된다.
key는 속성명, value는 속성값이라고 생각하면 된다.
let user = {
firstName: 'Steve',
lastName: 'Lee',
email: 'steve@codestates.com',
city: 'Seoul' };
# lastName은 키(key)
'Lee'은 값(value)
키,값 사이는 콜론(:)으로 구분한다.
객체는 키와 값 쌍(key-value pair)으로 이루어져 있다.
중괄호{}를 사용해서 객체를 만든다.
키값쌍은 쉼표로 구분한다
# 객체에는 길이가 없다.!!!!
object.length === undefined
# 객체의 값을 사용하는 방법
1. Dot notation
user.firstName; //'Steve'
user.city; // 'Seoul'
2. Bracket notation
user['firstName']; // 'Steve'
user['city']; // 'Seoul'
[]안에는 작은따옴표, 큰따옴표, 백틱 상관없다
[]안에는 문자열로 들어간다
[]안에 따옴표나 백틱없이 들어가면 변수인거다!
# let keyname = 'content'
tweet[keyname]
tweet[keyname] === tweet['content']
(여기서 keyname은 변수인거다)
let tweet = {
writer : 'stevelee',
createdAt: '2019-09-10',
content: '프리코스 재밌어요!'
# 값을 추가
tweet['category'] = '잡담';
tweet.isPublic = true;
tweet.tags = ['#코드스테이츠', '#프리코스'];
# 삭제도 가능하다: delete 객체명.키
delete tweet.createdAt ;
# 수정할때
mycatcoid.개월 = 10;
# in연산자를 이용해 해당하는 키가 있는지 확인할수 있다. (유무확인) : 키 in 객체명
'content' in tweet; // true
'updatedAt' in tweet; // false
#추가 메서드
Object.keys(obj) : 객체의 키(key)만 담은 배열을 반환한다.
Object.values(obj) : 객체의 값(value)만 담은 배열을 반환한다.
Object.entries(obj) : [키, 값] 쌍을 담은 배열을 반환한다.
object.assign : 두개의 객체를 합칠때
중복되는건 뒤에꺼로 나온다 (엔지니어 나온다) (뒤의 키에있던 값으로 나온다)
slice같이 복사하는 기능도 할수있다
object.is(obj1, obj2) : 두객체가 같은지 비교
# 빈객체에다가 추가할때
let newcat ={};
newcat['이름'] = mycatdoi['이름']
★★★이거 아예 암기하기★★★★
result[prop] = obj[prop]
result객체에 prop를 키로 한 값에다가, obj객체의 prop을 키로 한 값을 할당한다!!!!!! 이런 의미이다
# 객체(obj), 키(property), 값(value)
키에 값을 할당 ★★★
obj[property] = value;
# 객체의 모든 key를 콘솔에 출력하기 위한 방법 -> for in 순회반복문
-> function allKeys(obj) {
for (let key in obj) {
console.log(key) }
}
# for (let element of arr) 와
for (let i=0; i < arr.length; i+=1)
두 문장이 같다고 생각하면 된다.
# 객체의 단축 (Property shorthand)
객체 안에 key와 value를 쓸때, 이미 변수로 선언된 key에 대해서는 굳이 value를 정의해줄 필요가 없는 것을 의미한다.
key와 value값이 같을 때 이미 정의된 변수 값으로 value값을 지정해준다.
let a = "b"
let c = "d"
let e = "f"
let couple = {a, c, e}
couple; // {a: "b", c: "d", e: "f"}
'부트캠프교육중 > JavaScript' 카테고리의 다른 글
[JavaScript] 원시자료형와 참조자료형 (0) | 2023.01.02 |
---|---|
[JavaScript] for in 과 for of (0) | 2022.12.31 |
[JavaScript] 배열 메서드 (0) | 2022.12.30 |
[JavaScript] 배열과 반복문 (0) | 2022.12.30 |
[JavaScript] 배열이란? (0) | 2022.12.30 |