Object
Object 객체는 객체의 가장 기본적인 형태를 가지고 있는 객체입니다.. 다시 말해서 아무것도 상속받지 않는 순수한 객체입니다. 자바스크립트에서는 값을 저장하는 기본적인 단위로 Object를 사용합니다.
예를 보자면 우리가 알고있는
let grades = {'egoing': 10, 'k8805': 6, 'sorialgi': 80};
동시에 자바스크립트의 모든 객체는 Object 객체를 상속 받는데, 그런 이유로 모든 객체는 Object 객체의 프로퍼티를 가지고 있습니다. 모든 객체들이 사용할수 있는 프로 퍼티입니다.
작은 예를 들어보면
object.key라는 메소가 있습니다. 우리가 공부하는거에 중요한점은 object라는 객체는 어떤형태의 메소드가 있는지
그 메소드들은 형태에 따라 어떻게 사용하는 지 알아 봅시다.
let arr = [ 'a' , 'b' , 'c'];
console.log('object.keys(arr)',object.keys(arr));
// object.prototype.toString()
let o = new Object();
console.log('o.toString()', o.toString());
let a = new Array(1,2,3);
console.log('a.toString()'),a.toString());
let arr = [ 'a' , 'b' , 'c'];
console.log('object.keys(arr)',object.keys(arr));
이 부분은 object.key(arr)['0','1','2']
object.keys(arr)이 분이 key값을 배열로 리턴해 줍니다.
다른 예로
let o = {'name':'egoing' , 'age':20, "city":"seoul"}
o를 입력하면
object {'name':'egoing' , 'age':20, "city":"seoul"}
여기에 object.keys(o)
["name","age","city"]
리턴값이 나옵니다.
자그럼 let o= { }
o.toString( );
''[object object]"가 출력됩니다.
let a = [1,2,3]
a.toStribg();
"1,2,3"
어떤객체가 가지고 있는 값을 출력하거나 객체의 상채를 보여는 메소드입니다.
이 두가지 메소드의 차이 object.keys / object.prototype.toString() 은 언제 사용될까요
먼저 prototype 있는 것은
// object.prototype.toString()
let o = new Object(); 어떠한 객체를 만듭니다. 그리고 객체를 가지고 있는 식별자 o.tostring 이라고 합니다.
object.keys는 object.keys(arr)); arr이라는 인자를 받아서 처리를 합니다.
이러한 차이는 어디서 오냐면 object.keys()에 object라는 이 키워드는 정확하게 생성자 함수입니다.
함수는 객체이기 때문에 프로퍼티를 가질수 있습니다.
object.keys=function{}
이 keys 메소드를 불러올때는 object생성자 함수 그리고 . keys() 이렇게 사용합니다.
object.prototype.toString=function(){}
어떠한 메소드가 프로토타입에 소속이라는 것은
생성자함수를 이용해서 new Object 를 이용해서 어떠한 객체를 만들고
그객체는 우리가 생성한 객체의 prototype 이라고 하는 특수한 프로퍼티에 저장되어 있는 객체를 원형으로 하는 객체가 생성됩니다. 그렇게 생성된 객체는 tostring이라는 메소드를 사용할수 있습니다.
let a = new Array(1,2,3); 이객체는 Object라고 하는객체를 부모로 합니다.
a.toString 이라고 하면 object에 정의되어있는 tostring이는 메소드를 사용할수 있습니다.
이글은 생활코딩을 보고 참고해서 만들었습니다. "egoing님 감사합니다."