프론트엔드/React
NBC - JS 1주차 강의 정리 : 객체, 배열
장쫑이이
2024. 7. 23. 22:09
객체
1. 객체 생성 방법
1-1. 기본적인 객체 생성 방법
let person = {
name: "홍길동",
age: 30,
gender: "남자",
};
1-2. 생성자 함수를 이용한 객체 생성 방법
function Person(name, age, gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
let person1 = new Person("홍길동", 30, "남자");
let person2 = new Person("홍길순", 20, "여자");
2. 접근하는 방법
console.log(person.name);
console.log(person2.name);
3. 객체 메소드
객체가 가진 여러가지 기능 : Object.~
3-1. Object.key() : key를 가지고 오는 메소드
3-2. Obkect.values() : value를 가지고 오는 메소드
3-3 entreis : key와 value를 묶어서 배열로 만드는 배열 (2차원 배열)
let keys = Object.keys(person);
// ["name", "age", "gender"]
let values = Object.values(person);
// ["홍길동", 30, "남자"]
let entries = Object.entries(person);
// [["name", "홍길동"],["age", 30] ["gender", "남자"]]
3-4. assign : 객체 복사
let newPerson = {};
Object.assign(newPerson, person);
// newPerson에 person 값이 들어감
Object.assign(newPerson, person, { age: 31 });
// person 값이 들어오지만 age만 바뀜
3-5. 객체 비교
객체나 배열은 메모리에 저장할 때 별도의 공간에 저장하기 때문에 key와 value 값이 같더라도 같지 않음
let person1 = {
name: "홍길동",
age: 30,
gender: "남자",
};
let person2 = {
name: "홍길동",
age: 30,
gender: "남자",
};
console.log(person1 === person2); //false 출력
console.log(JSON.stringify(person1) === JSON.stringify(person2));
// true (문자열화 시키는 stringify)
3-6. 객체 병합
let person1 = {
name: "홍길동",
age: 30,
};
let person2 = {
gender: "남자",
};
let perfectMan = { ...person1, ...person2 }; //
console.log(perfectMan); // { name: '홍길동', age: 30 }
배열
1. 생성
1-1. 기본적인 배열 생성
let fruits = ["사과", "바나나", "오렌지"]
1-2. 크기 지정
let number = new Array(5);
// [5 empty items] 출력
2. 요소접근
인덱스로 접근
console.log(fruits[0]);
// "사과" 출력
3. 배열 메소드
3-1. push
let fruits = ["사과", "바나나"];
fruits.push("오렌지");
console.log(fruits); // [ '사과', '바나나', '오렌지' ]
3-2. pop
마지막 요소 삭제
let fruits = ["사과", "바나나", "오렌지"];
fruits.pop();
console.log(fruits); // [ '사과', '바나나' ]
3-3. shift()
첫번째 요소 삭제
let fruits = ["사과", "바나나", "오렌지"];
fruits.shift();
console.log(fruits); // [ '바나나', '오렌지' ]
3-4. unshift
맨 앞에 추가
let fruits = ["사과", "바나나", "오렌지"];
fruits.unshift("키위");
console.log(fruits); // [ '키위', '사과', '바나나', '오렌지' ]
3-5. splice
요소 바꾸기
let fruits = ["사과", "바나나", "오렌지"];
fruits.splice(1, 1, "귤"); // 1번 인덱스에서 시작해서 첫번째 것만 "귤로 바꿔줘"
console.log(fruits); // [ '사과', '귤', '오렌지' ]
3-6. slice
해당 요소만 남기기
let fruits = ["사과", "바나나", "오렌지", "키위"];
let slicedFruits = fruits.slice(1, 3); // 1번 인덱스부터 시작해서 3번 인덱스 전까지
console.log(slicedFruits); // ['바나나', "오렌지"]