NBC - JS 1주차 강의 정리 : 객체, 배열

2024. 7. 23. 22:09·프론트엔드/React
목차
  1. 객체
  2. 1. 객체 생성 방법
  3. 2. 접근하는 방법
  4. 3. 객체 메소드
  5. 배열
  6. 1. 생성
  7. 2. 요소접근
  8. 3. 배열 메소드

 

객체

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); // ['바나나', "오렌지"]

 

 

'프론트엔드 > React' 카테고리의 다른 글

NBC - JS 개인프로젝트 : api로 받아온 데이터 화면에 뿌리기 (promise.all, aysnc, await)  (0) 2024.07.26
NBC - JS 2주차 강의 정리 : Map, Set  (0) 2024.07.24
NBC - JS 2주차 강의 정리 : 일급 객체로서의 함수  (1) 2024.07.24
NBC - JS 2주차 강의 정리 : 구조분해할당, 전개 구문(Spread Operator)  (0) 2024.07.24
NBC - JS 1주차 강의 정리 : 반복문  (2) 2024.07.23
  1. 객체
  2. 1. 객체 생성 방법
  3. 2. 접근하는 방법
  4. 3. 객체 메소드
  5. 배열
  6. 1. 생성
  7. 2. 요소접근
  8. 3. 배열 메소드
'프론트엔드/React' 카테고리의 다른 글
  • NBC - JS 2주차 강의 정리 : Map, Set
  • NBC - JS 2주차 강의 정리 : 일급 객체로서의 함수
  • NBC - JS 2주차 강의 정리 : 구조분해할당, 전개 구문(Spread Operator)
  • NBC - JS 1주차 강의 정리 : 반복문
장쫑이이
장쫑이이
  • 장쫑이이
    JongHoy
    장쫑이이
  • 전체
    오늘
    어제
    • 코딩공부하기 (41)
      • 프론트엔드 (41)
        • Next.js (12)
        • React (16)
        • TypeScript (2)
        • 상태관리 (1)
        • HTML&CSS (1)
        • 기타 (9)
      • 과거 공부 내용 (0)
        • JSCODE 그룹스터디 (0)
        • JS 객체 지향 프로그래밍 (0)
        • 리엑트 (0)
        • 제로초 - 웹 게임을 만들며 배우는 리엑트 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    slice
    While문
    isNan
    reduce
    Filter
    유클리드 호제법
    destructuring
    필터링
    map
    LastIndexOf
    github
    행렬의 덧셈
    useState
    이중 for문
    styled-components
    팀프로젝트
    토글
    setAttribute
    속성 추가
    git
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
장쫑이이
NBC - JS 1주차 강의 정리 : 객체, 배열
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.