자바스크립트에서 원시 타입을 제외한 모든 데이터 타입(객체, 함수, 배열, 정규표현식 등)은 객체다.
객체가 보유한 값을 '프로퍼티'라고 하며, 객체가 보유한 함수를 '메서드'라고 한다.
프로퍼티는 키와 값으로 구성된다.
//Object()를 이용해서 foo 빈 객체 생성
var pserson = new Object();
// foo 객체 프로퍼티 생성
pserson.name = 'seok';
pserson.age = 10;
pserson.gender = 'male';
console.log(typepf foo); // (출력값) object
console.log(foo); // (출력값) { name: 'seok', age: 10, gender: male}
// String객체 생성하기
var strObj = new String('hello');
console.log(strObj); //[String: 'hello']
// Array(배열)객체 생성하기
var arrObj = new Array([1, 2, 3]);
console.log(arrObj); //[ [ 1, 2, 3 ] ]
출처: https://curryyou.tistory.com/189 [카레유:티스토리]
Object.create(프로토타입) : 프로토타입 상속을 통해 객체를 만드는 방식
// 부모 객체 생성
var parent = {a:10, b:20};
// 자식 객체 생성(부모의 프로퍼티를 상속 받음)
var child = Object.create(parent);
console.log(child.a); // 10
var person = {
name : 'seok',
age : 10,
gender: 'male',
func1: function () {
console.log('Hello js')
}
}
// Person() 생성자 함수
var Person = function(name) {
this.name = name;
}
// foo 객체 생성
var foo = new Person('seok');
console.log(foo.name) // seok
class Person {
constructor(name, age) { // 인자를 받아 할당한다.
this.name = name;
this.age = age;
}
func1() {
console.log(`${this.name}: hello!`);
}
get personName() {
return this.name;
}
set probName(value) {
this.name = value;
}
}
const mike = new Person('seok', 10);
console.log(mike.name);
console.log(mike.age);
객체.프로퍼티 , 객체['프로퍼티']로 접근가능하다
var person = {
name : 'seok',
age : 10,
gender: 'male',
func1: function () {
console.log('Hello js')
}
}
person.name;
person.age;
person.func1();
person['name'];
person['age'];
person['func1']();