자바스크립트 객체

sham·2021년 8월 20일
0

객체(object)

객체(object)란 실생활에서 우리가 인식할 수 있는 사물로 이해할 수 있다.

현실 속 객체

고양이 객체(object)

http://www.tcpschool.com/lectures/img_js_kitty.png


프로퍼티(property)(의존)

  • cat.name = "나비"
  • cat.family = "먼치킨"
  • cat.age = 2
  • cat.weight = 500

메소드(method)

  • cat.mew()
  • cat.eat()
  • cat.sleep()

고양이 객체는 모두 위와 같은 속성을 가지지만, 각 속성의 값은 객체마다 전부 다를 것이다.

인스턴스 : 변수에 할당, 반환된 오브젝트.(객체)


자바스크립트 객체

객체란 키(key)과 값(value)으로 구성된 속성(property)의 정렬되지 않은 집합이다.
중괄호 안에서 {키 : 값, 키 : 값}과 같은 형태로 쓰인다.
키는 반드시 문자열만 올 수 있다.
속성으로는 어떠한 것이든 올 수 있다. 함수가 올 수도 있는데, 이 때 해당 함수를 메소드(method)라고 한다.

var cat = "나비"; // 일반적인 변수의 선언
// 객체도 많은 값을 가지는 변수의 하나.
var kitty = { 
  name: "나비", 
  family: "먼치킨", 
  age: 2, 
  weight: 500 
};
cat          // 나비
kitty.name   // 나비

자바스크립트에서는 숫자, 문자열, 불리언, undefined 타입을 제외한 모든 것이 객체이다.
하지만 숫자, 문자열, 불리언과 같은 원시 타입은 값이 정해진 객체로 취급되어, 객체로서의 특징도 함께 가지게 된다.


var kitty = { 
  name: "나비", 
  family: "먼치킨", 
  age: 2, 
  weight: 500,
  info : function () {
   return (this.age + '살 ' + this.name);  
  }
};
var cat = new Object();
cat.name = "마뭉이";
cat.age = "3";

new Object()를 통해 객체를 만든 후 속성을 부여하는 방식, 처음부터 속성을 부여하는 방식 두 가지가 있다.


var kitty = { 
  name: "나비", 
  family: "먼치킨", 
  age: 2, 
  weight: 500,
  info : function () {
   return (this.age + '살 ' + this.name);  
  }
};
console.log(kitty.name); // "홍길동"
console.log(kitty.age); // 2
console.log(kitty.info); // ƒ () { return (this.age + '살 ' + this.name); }
console.log(kitty.info()); // "2살 나비"

객체.키객체["키"] 형태로 해당 객체의 키에 해당하는 값을 추출할 수 있다.
메서드에 접근할 때 ()를 붙이지 않는다면 메서드의 정의를 리턴하게 된다.


var kitty = { 
  name: "나비", 
  family: "먼치킨", 
  age: 2, 
  weight: 500,
  info : function () {
   return (this.age + '살 ' + this.name);  
  }
};

kitty.name : "마뭉이";

객체.키 = 데이터 형태로 해당 객체의 키를 변경할 수 있다.


var kitty = { 
  name: "나비", 
  family: "먼치킨", 
  age: 2, 
  weight: 500,
  info : function () {
   return (this.age + '살 ' + this.name);  
  }
};
delete kitty.name;
delete kitty.age;

delete 객체.키 로 해당 속성 한 쌍을 삭제할 수 있다.


리터럴

new를 쓰지 않고 {}, []로 곧바로 선언한 객체, 배열을 리터럴이라고 부른다.

new Number, new String처럼 기존 자료형들도 new를 쓰지 않았다면 리터럴이다.


배열

값들만 쉼표를 기준으로 나열되어 있다.
배열 안에 든 것을 요소(item)라고 부른다.
C처럼 크기를 지정해 줄 필요가 없다.

함수

함수 선언과 함수 표현식 두 가지 방식이 있다.
함수 선언 - function add(){}
함수 표현식 - var add = function() {}
함수를 호출할 때 괄호 안에 값을 넣으면 함수 안에서 사용할 수 있는 인자로 전달된다.
return으로 함수를 종료하고 함수가 특정 값을 반환하도록 할 수 있다.
return을 지정하지 않으면 자동으로 undefined를 반환하게 된다.
객체의 속성이 된 함수를 메소드라고 부른다.

profile
씨앗 개발자

0개의 댓글

관련 채용 정보