[Javascript] 자바스크립트 객체와 배열

객체 

중괄호 {} 를 이용해 만들 수 잇으며, 중괄호로 묶은 객체 안에는 속성을 추가할 수 있다.
객체 안에 들어있는 속성의 이름은 하나의 변수로 생각할 수 있으며, 변수의 이름과 변수 값 또는 속성의 이름과 속성 값이라는 형태로 조합된다.

var Perosn={};
Person['age']=20;
Person['name']='뽀로로';
Person.mobile= '010-1234-5678';
console.log('나이:%d',Person.age);
console.log('이름:%s',Person.name);
console.log('전화:%s',Person['mobile']);
cs

객체의 속성으로 함수를 넣을 수도 있다.

Person.add = function(a,b){
    return a+b;
};
console.log(Person.add(10,10));
cs

배열

대괄호 []를 이용해 만들고 그 안에 요소를 추가할 때는 push()메소드를 이용한다.

var Users = [{name:'뽀로로',age:20},{name:'레미', age:10}];
User.push({name:'곰돌이',age:15});
console.log('전체 수 :%d',User.length);
console.log('두 번째 사용자 이름 : %s',Users[1].name);
cs

push(object) :  배열 끝에 요소를 추가
pop() : 배열 끝에 있는 요소를 삭제
unshift(object) : 배열의 앞에 요소를 추가
shift() : 배열의 앞에 있는 요소를 삭제
splice(index, removeCount, [Obejct]) : 여러 개의 객체를 요소로 추가하거나 삭제
slice( index, copyCount) : 여러 개의 요소를 잘라 새로운 배열 객체로 만들기


프로토 타입 객체

함수를 이용하여 만드는 객체. 객체 지향 언어에서 객체의 원형인 클래스를 만들고 클래스에서 새로운 인스턴스 객체를 여러 개 만들어 내듯 자바스크립트에서 객체의 원형을 정의하고 그 원형에서 새로운 인스턴스 객체를 만들어내는 방식
프로토타입 객체를 정의하고 나면 new 연산자를 이용해 인스턴스 객체들을 만들 수 있다.

function Person(name, age){
    this.name = name;
    this.age = age;
}
Person.prototype.walk = function(speed){
    console.log(speed+'속도로 걸어갑니다!');
}
var person1 = new Person('개미',20);
var person2 = new Person('베짱이',25);
console.log(person1.name+'객체의 walk(10)을 호출합니다');
person1.walk(10);
cs


  • Person.walk = function(..) {... }
  • Person.prototype.walk = function(...) {...}

두 코드는 같은 결과를 보여준다. 다만 prototype 속성으로 추가하면 인스턴스 객체를 만들 때 메모리를 효율적으로 관리 할 수 있다는 점이 서로 다르다. prototype  객체는 new 연산자로 인스턴스 객체를 만들 때 사용할 수 있다.


No comments:

Powered by Blogger.