이 글은 주로 자바스크립트의 setter와 getter 메소드를 자세하게 소개하고 있는데, 관심 있는 친구들은 참고하시면 됩니다.
저는 프로젝트를 작성하는 과정에서 자바스크립트의 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 메소드를 별도로 설정하면 속성 값만 얻을 수 있고 정의된 속성 값은 변경할 수 없으므로 데이터 보안이 보장됩니다. setter 메소드는 매개변수는 있지만 반환 값은 없습니다. setter 메소드만 단독으로 설정하면 속성 값을 읽을 수 없습니다.
var o = { a:3, set val(n){ this.a = n; } } console.log(o.val);//undefined
위 코드에서 볼 수 있듯이 이는 해당 객체(즉, "o; " in the code);
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
위 내용은 제가 모두를 위해 정리한 내용입니다. 앞으로 모든 분들께 도움이 되기를 바랍니다.
관련 기사:
Vue.js가 무한 스크롤 로딩을 구현하는 방법에 대해Chrome Firefox에는 디버깅 도구가 제공됩니다(자세한 튜토리얼)JS를 사용하여 Ajax 요청 기능을 작성하는 방법vue 사용 - cli+webpack위 내용은 JavaScript에서 setter 및 getter 메소드를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!