JavaScript 게터 및 세터 소개 👓
9619 단어 javascript
Getter
및 Setter
가 사용됩니다.const person = {
firstName: "John",
lastName: "Doe"
}
여기서는
firstName
및 lastName
의 두 키-값 쌍이 있는 개체가 있다고 가정합니다. 이제 person
의 전체 이름을 표시하려면 아래 표시된 방법 중 하나를 사용할 수 있습니다.연결 또는 템플릿 리터럴을 사용하여 개체 외부의 전체 이름을 사용할 수 있습니다
console.log
.console.log(person.firstName + " " + person.lastName); //John Doe
또는
console.log(`${person.firstName} ${person.lastName}`); //John Doe
코드의 여러 위치에서 전체 이름을 사용하려면
console.log
동일한 코드를 여러 번 붙여넣어야 합니다. 우리의 DRY(Don't Repeat Yourself)
규칙에 위배됩니다. 또 다른 방법은 개체에 대한 메서드를 만들고 전체 이름을 얻고 싶을 때마다 메서드를 호출하는 것입니다.const person = {
firstName: "John",
lastName: "Doe",
fullName () {
return `${person.firstName} ${person.lastName}` //John Doe
}
}
이제 메서드를 호출할 수 있습니다.
console.log(person.fullName()); //John Doe
일반적인 함수 호출이 아닌 객체의 속성처럼 메소드를 호출하여 값을 얻고 싶다면 여기서
getter
메소드를 사용해야 합니다. 따라서 코드는get fullName () {
return `${person.firstName} ${person.lastName}` //John Doe
}
메서드 이름 앞의
get
키워드가 중요합니다. 이제 fullName
만 사용하여 person.fullName
를 호출할 수 있습니다. 끝에 추가 중괄호를 추가할 필요가 없습니다. 또한 이제 외부에서 fullName
의 값을 변경할 수 없습니다.객체 외부에서
fullName
를 설정하려고 하면 오류가 발생하지 않고 객체 내부에 설정된 값이 표시됩니다.개체 외부에서
fullName
값을 전달하고 전달된 firstName
값에 따라 lastName
및 fullName
값을 설정하려고 한다고 가정합니다. person.fullName = "Jane Doe";
를 사용하여 초기화하려고 하면 작동하지 않습니다. 여기에 setter
방법이 있습니다. 예를 들어 확인해 보겠습니다.set fullName (val) {
const split = val.split(" ");
this.firstName = split[0];
this.lastName = split[1]
}
따라서
val
인수에서 값을 가져온 다음 JavaScriptsplit()
방법을 사용하여 값에 공백이 있는 위치에서 부분으로 분할합니다. split()
메서드는 array
를 반환합니다. array
의 첫 번째 요소를 firstName
키에 할당하고 배열의 두 번째 요소를 lastName
키에 할당합니다.이제
fullName
메서드에 값을 전달하고 그에 따라 firstName
및 lastName
값을 설정할 수 있습니다. 이 get 및 set 메서드는 더 간단하지만 강력한 솔루션이 아닌 여러 기능으로 달성할 수 있습니다.전체 코드 🚀
const person = {
firstName: "John",
lastName: "Doe",
get fullName () {
return `${person.firstName} ${person.lastName}`
},
set fullName (val) {
const split = val.split(" ");
this.firstName = split[0];
this.lastName = split[1]
}
}
Getter 및 Setter를 사용하는 이유는 무엇입니까? 🐲
객체 지향 언어에서 중요한 개념은 데이터 은닉입니다. 일반적으로 클래스에는 멤버 노출을 제한하는
public/private
와 같은 액세스 한정자가 있습니다. Getter
및 Setter
의 가장 중요한 용도 중 하나는 함수를 보다 안전하게 노출하는 것입니다. 예를 들어 get
메서드만 설정하면 멤버의 값은 클래스 외부에서 절대 변경할 수 없습니다.이에 대해 자세히 알아보려면 이 아름다운 기사here를 확인하십시오.
원래 게시 위치hashnode
Reference
이 문제에 관하여(JavaScript 게터 및 세터 소개 👓), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/nemo011/an-introduction-to-javascript-getters-and-setters-45lg텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)