나는 toString() 이 그냥 문자형으로 바꿔주는 함수인줄만 알고 있었다.
toString() 은 문자열을 반환하는 Object 의 대표적인 방법이라고 하는데 이게 무슨 말?!
일단, 생성자 함수는 다음과 같다고 하자.
function Dog(name){
this.name = name
}
const dog1 = new Dog('Podo')
생성자 함수에 관한 내용은 아래 참고하기!
2022.05.08 - [JavaScript] - 22.05.08 생성자 함수와 new 연산자
Dog.prototype.toString = function dogToString(){
return `${this.name}`
}
객체의 속성에 대한 값을 문자열로 보여준다는 것인가?
음 그러면 dog1 의 성별을 생성자 함수에서 정의하고
toString 함수를 정의한 부분의 반환문에서 성별을 반환하게 해보자.
function Dog(name){
this.name = name
this.sex = 'female'
}
const dog1 = new Dog('Podo')
Dog.prototype.toString = function dogToString(){
return `${this.sex}`
}
그 외에도 내가 알고 싶은 값에 대한 속성을 특정하면
위와 같이 값을 출력한다.
그러면 객체 타입을 속성 값을 인자로 받아서 다시 정의하는 함수로 바꾸고
function Dog(name, breed, color, sex){
this.name = name
this.breed = breed
this.color = color
this.sex = sex
}
const dog1 = new Dog('Podo', 'Lab', 'Gray', 'Female')
여기서 그냥 dog1.toString() 을 출력하면 이렇게 된다.
toString 함수를 따로 정의하면 입맛대로 바꿀 수 있다!!
Dog.prototype.toString = function dogToString() {
var ret = 'Dog ' + this.name + ' is a ' + this.sex + ' ' + this.color + ' ' + this.breed;
return ret;
}
참고자료링크
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Object/toString
'JavaScript' 카테고리의 다른 글
22.05.09 배열 평탄화 flatMap (0) | 2022.05.09 |
---|---|
22.05.08 객체에서 속성 찾기 hasOwnProperty 와 in (0) | 2022.05.08 |
22.05.08 생성자와 return 문 (0) | 2022.05.08 |
22.05.08 생성자 함수와 new 연산자 (0) | 2022.05.08 |
22.04.28 자바스크립트 삽고수의 이리저리 (0) | 2022.04.28 |