본문 바로가기

Development/JavaScript

JS 기초 _보충(객체, 배열)

객체

1. 생성자 함수를 사용한 객체 생성

function Person(name, age, gender) {
  this.name = name;
  this.age = age;
  this.gender = gender;
}

let person1 = new Person("홍길동", 30, "남자");
let person2 = new Person("홍길순", 25, "여자");

위의 예제에서는 생성자 함수 Person()을 사용하여 객체 person1과 person2를 생성한다. 생성자 함수를 사용하면 객체를 일괄적으로 생성할 수 있다.

 

2. 객체 속성 접근

let person = {
  name: "홍길동",
  age: 30,
  gender: "남자"
};

console.log(person.name);   // "홍길동"
console.log(person.age);    // 30
console.log(person.gender); // "남자"

위의 예제에서는 객체 person의 속성에 접근하여 값을 출력한다. 객체의 속성에 접근할 때는 점(.)을 사용하여 속성 이름을 입력한다.

 

3. 객체 메소드

3-1. Object.keys() 메소드

let person = {
  name: "홍길동",
  age: 30,
  gender: "남자"
};

let keys = Object.keys(person);

console.log(keys);   // ["name", "age", "gender"]

위의 예제에서는 Object.keys() 메소드를 사용하여 객체 person의 속성 이름을 배열로 반환한다. Object.keys() 메소드는 객체의 속성 이름을 배열로 반환한다.

 

3-2. Object.values() 메소드

let person = {
  name: "홍길동",
  age: 30,
  gender: "남자"
};

let values = Object.values(person);

console.log(values);   // ["홍길동", 30, "남자"]

위의 예제에서는 Object.values() 메소드를 사용하여 객체 person의 속성 값들을 배열로 반환한다. Object.values() 메소드는 객체의 속성 값들을 배열로 반환한다.

 

3-3. Object.entries() 메소드

let person = {
  name: "홍길동",
  age: 30,
  gender: "남자"
};

let entries = Object.entries(person);

console.log(entries);

위의 예제에서는 Object.entries() 메소드를 사용하여 객체 person의 속성 이름과 속성 값들을 2차원 배열로 반환한다. Object.entries() 메소드는 객체의 속성 이름과 속성 값들을 2차원 배열로 반환한다.

 

3-4. Object.assign() 메소드

let person = {
  name: "홍길동",
  age: 30,
  gender: "남자"
};

let newPerson = Object.assign({}, person, { age: 35 });

console.log(newPerson);   // { name: "홍길동", age: 35, gender: "남자" }

위의 예제에서는 Object.assign() 메소드를 사용하여 새로운 객체 newPerson을 만든다. Object.assign() 메소드는 기존 객체를 복사하여 새로운 객체를 만든다.

 

3-5. 객체 비교

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

위의 예제에서는 두 개의 객체를 생성하고 비교한다. 객체를 비교할 때는 일반적으로 === 연산자를 사용할 수 없다. 대신 JSON.stringify() 함수를 사용하여 객체를 문자열로 변환한 후, 문자열 비교를 한다.

 

3-6. 객체 병합

let person1 = {
  name: "홍길동",
  age: 30
};

let person2 = {
  gender: "남자"
};

let mergedPerson = {...person1, ...person2};

console.log(mergedPerson);   // { name: "홍길동", age: 30, gender: "남자" }

위의 예제에서는 객체를 병합한다. 객체 병합을 할 때는 전개 연산자(...)를 사용한다.

 


 

배열

1. some() 메소드

let numbers = [1, 2, 3, 4, 5];

let hasEvenNumber = numbers.some(function(number) {
  return number % 2 === 0;
});

console.log(hasEvenNumber);   // true

위의 예제에서는 some() 메소드를 사용하여 배열 numbers에서 짝수가 있는지 확인한다. some() 메소드는 배열의 각 요소에 대해 콜백 함수를 실행하고, 그 결과가 true인 요소가 하나라도 있는지 확인한다.

 

2. every() 메소드

let numbers = [2, 4, 6, 8, 10];

let isAllEvenNumbers = numbers.every(function(number) {
  return number % 2 === 0;
});

console.log(isAllEvenNumbers);   // true

위의 예제에서는 every() 메소드를 사용하여 배열 numbers의 모든 요소가 짝수인지 확인한다. every() 메소드는 배열의 각 요소에 대해 콜백 함수를 실행하고, 그 결과가 true인 요소가 모든 요소인지 확인한다.

 

 

2023.04.03

항해99 D-99