저는 프로젝트를 작성할 때 Javascript의 setter 및 getter 메소드를 사용한 적이 없으므로 이해해야 할 개념입니다. 오늘 책에서 이 지식 포인트를 보았지만 여전히 모호하므로 공부하기로 결정했습니다.
Javascript 개체의 속성은 이름, 값 및 속성 집합으로 구성됩니다. 먼저 객체의 두 가지 속성을 살펴보겠습니다.
우리가 자주 사용하고 익숙해야 하는 데이터 속성
접속자 속성이라고도 하는 접근자 속성
접속자 속성이란 무엇입니까? 값을 가져오고 설정하는 함수 집합입니다. ECMAScript5에서는 하나 또는 두 개의 메서드를 사용하여 속성 값을 설정할 수 있으며, 두 메서드는 getter와 setter이므로 getter와 setter에 의해 정의된 속성을 접근자 속성이라고 합니다.
var o = { get val(){ /*函数体*/ return ; }, set val(n){ /*函数体*/ } }
위는 접근자 속성을 정의하는 가장 간단한 방법입니다. getter 및 setter 메서드는 실제로 함수를 대체하는 함수임을 알 수 있습니다.
var o = { a:3, get val(){ return Math.pow(this.a,2); } } console.log(o.val);//9 o.val = 100; console.log(o.val);//9
getter 메소드에는 매개변수가 없고 반환 값이 있습니다. getter 메소드를 별도로 설정할 경우 속성 값만 가져올 수 있고 정의된 속성 값을 변경할 수 없으므로 데이터 보안이 보장됩니다.
var o = { a:3, set val(n){ this.a = n; } } console.log(o.val);//undefined
setter 메소드에는 매개변수가 있고 반환 값은 없습니다. setter 메소드만 단독으로 설정하면 속성 값을 읽을 수 없습니다. 위의 코드 출력, 여기서 이는 해당 객체(예: 코드의 "o")를 나타냅니다.
var o ={ a:3, get val(){ return Math.pow(this.a,n); }, set val(n){ this.a = Math.max(this.a,n); } } console.log(o.a);//3 console.log(o.val);//9 o.val = 10; console.log(o.a);//10 console.log(o.val);//100
또한 접근자 속성도 상속될 수 있습니다.
관련 권장 사항:
Javascript의 getter 및 setter에 대한 기본 소개
PHP5 getter/setter 기본 class_php 기술 코드 구현
위 내용은 JavaScript setter 및 getter 메소드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!