객체 리터럴 질문/답변

어승준·2023년 10월 4일

JS 스터디

목록 보기
6/26
post-thumbnail

📌 객체의 프로퍼티와 메서드의 역할에 대해서 설명해주세요

▶️ 객체이름

  • 생성된 객체의 변수 이름 또는 참조 이름입니다. 이 변수를 통해 객체에 접근할 수 있습니다.

▶️ 프로퍼티

  • 프로퍼티는 객체의 특징이나 속성을 나타내며, 프로퍼티 이름과 해당 값으로 구성됩니다.

▶️ 메서드

  • 메서드는 객체가 수행하는 동작을 정의하는 함수입니다. 메서드는 프로퍼티로서 함수를 할당하는 형태로 정의할 수 있습니다.

📌 ES6에서 추가된 객체 리터럴의 확장 기능은?

▶️ 프로퍼티의 축약 표현

<script>
// ES5
var x = 1, y = 2;

var obj = {
	x: x,
    y: y
};

console.log(obj); // { x: 1, y: 2 }

// ES6
ley x =1, y = 2;

const obj = { x, y };

console.log(obj); // { x: 1, y: 2 }
</script>

▶️ 계산된 프로퍼티 이름

<script>
var prefix = 'prop';
var i = 0;

// ES5
var obj = {};

obj[prefix + '-' + ++i] = i;
obj[prefix + '-' + ++i] = i;
obj[prefix + '-' + ++i] = i;

console.log(obj); // { prop-1: 1, prop-2: 2, prop-3: 3 }


// ES6
var obj = {
	[`${prefix}-${++i}`]: i,
    [`${prefix}-${++i}`]: i,
    [`${prefix}-${++i}`]: i
}

console.log(obj); // { prop-1: 1, prop-2: 2, prop-3: 3 }
</script>

▶️ 메서드 축약 표현

<script>
// ES5
var obj = {
	name: 'Lee',
    sayHi: function() {
		console.log('Hi! ' + this.name);
    }
};

obj.sayHi(); // Hi! Lee


// ES6
var obj = {
	name: 'Lee',
    // 메서드 축약 표현
    sayHi() {
    	console.log('Hi! ' + this.name);
    }
};

obj.sayHi(); // Hi! Lee
</script>

📌 객체 리터럴이란 무엇인가요?

  • 객체 리터럴은 JS에서 객체를 만드는 방법 중 하나입니다.
  • 객체 리터럴은 중괄호 {}를 사용하여 객체를 생성하고, 프로퍼티와 메서드를 포함하는 표기법입니다.
  • 이를 통해 간편하게 객체를 초기화하고 정의할 수 있습니다.
  • 예시
const 객체이름 = {
  프로퍼티1:1,
  프로퍼티2:2,
  // ...
  메서드1() {
    // 메서드 내용
  },
  메서드2: function() {
    // 메서드 내용
  },
  // ...
};

📌 인스턴스란 무엇인가요?

  • 인스턴스(Instance)는 객체 지향 프로그래밍에서 클래스의 복사본을 나타냅니다. 클래스는 객체를 생성하기 위한 템플릿이며, 인스턴스는 이 템플릿을 기반으로 생성된 객체입니다.
// 숫자를 다루는 클래스 정의
class NumberManipulator {
  constructor(initialNumber) {
    this.number = initialNumber; // 숫자 속성 초기화
  }

  add(value) {
    this.number += value; // 숫자 더하기
  }
}

// 인스턴스 생성
const calculator = new NumberManipulator(10); // 초기값으로 10을 가진 인스턴스 생성

// 인스턴스의 메서드 사용
calculator.add(5); // 10 + 5 = 15
console.log(calculator.number); // 15

📌 네이티브 객체와 호스트 객체에 대해 설명해 주세요.

▶️ 네이티브 객체

  • JavaScript 언어 자체에서 제공하는 기본 객체들을 의미하며, 예를 들어 Array, String, Number 등이 있습니다.
  • 이러한 객체들은 JavaScript 엔진에 내장되어 있으며 모든 JavaScript 환경에서 동일하게 동작합니다.

▶️ 호스트 객체

  • 호스트 객체(Host Objects)는 JavaScript 환경(웹 브라우저, Node.js 등)에서 제공하는 객체들을 나타냅니다.
  • 환경에 따라 다양하게 다를 수 있으며, 예를 들어 웹 브라우저 환경에서는 window, document, XMLHttpRequest 등의 호스트 객체가 있습니다. 호스트 객체는 환경에 따라 제공되는 기능을 지원하며, 환경별로 다를 수 있습니다.
profile
鈍筆勝聰(둔필승총) : '둔한 붓이 총명함을 이긴다' (서툴더라도 기록으로 남기는 것이 사람의 기억보다 훨씬 오래 보전된다) - 정약용

0개의 댓글