반응형
Notice
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 데이터과학
- 웹개발
- 보안
- 데이터분석
- 소프트웨어
- 클라우드컴퓨팅
- 컴퓨터공학
- 자료구조
- 빅데이터
- 데이터베이스
- 컴퓨터과학
- 파이썬
- I'm Sorry
- 알고리즘
- 딥러닝
- 컴퓨터비전
- 프로그래밍언어
- 소프트웨어공학
- 버전관리
- 머신러닝
- Yes
- 프로그래밍
- 네트워크보안
- 네트워크
- 사이버보안
- 2
- 자바스크립트
- 인공지능
- 데이터구조
- 코딩
Archives
- Today
- Total
스택큐힙리스트
자바스크립트 클래스 - 각 사용마다 "this.varname"이 필수인가요? 본문
반응형
저는 다음과 같은 자바스크립트 클래스를 가지고 있습니다:
function Foo() {
this.x = 5;
this.y = x + 10;
}
'.this'를 사용하지 않을 때 'x'가 클래스의 인스턴스에 대해 범위가 지정되지 않나요? 그렇다면 콜백을 어떻게 사용할까요? 다음과 같은 것이 있습니다:
function Foo() {
this.x = 5;
this.grok = function() {
jQuery(blah).animate({
..,
function(){
x = 55;
}
});
}
}
jquery는 콜백에 대한 기회를 제공하지만, 그 상황에서 어떻게 부모 클래스의 'x' 멤버 변수에 액세스할 수 있을까요?
감사합니다
답변 1
특정한 경우에는 다른 변수에 this
의 참조를 저장해야 합니다:
function Foo() {
this.x = 5;
this.grok = function() {
var that = this;
jQuery(blah).animate({
..,
function(){
that.x = 55;
}
});
}
}
익명 함수는 grok
에서 정의된 모든 변수에 접근할 수 있습니다. 만약 x
만 사용한다면 전역 변수가 됩니다.
답변 2
JavaScript 클래스를 사용할 때 this.varname은 각 사용 시 필수인가요?자바스크립트는 객체 지향 프로그래밍 언어로써, 클래스를 사용하여 개체를 만들고 조작하는 유연성을 제공합니다. 클래스 내에서 변수를 사용할 때, this.varname 형식을 사용하여 해당 변수를 참조할 수 있습니다. 그러나 this.varname을 사용하는 것이 필수적인지에 대해서는 조금 더 복잡한 이야기가 있습니다.
클래스 내의 변수를 기본적으로 this 키워드로 정의하면 클래스 내 어디서든 해당 변수에 접근할 수 있습니다. 이것은 메소드에서 사용되는 경우 더욱 명확하게 표시된다고 볼 수 있습니다. 즉, this.varname을 사용하여 변수에 액세스하면 다른 개체에서 변수를 잘못 사용하는 등의 오류를 방지할 수 있습니다. 또한 this.varname을 사용하면 클래스 외부에서 해당 변수에 접근하는 것도 가능합니다.
하지만 이것이 항상 필수적인 것은 아닙니다. 클래스 내에서 변수를 this.varname으로 정의하지 않고, 함수 내부에서 변수를 사용하는 경우도 있을 수 있습니다. 이러한 경우에는 해당 변수가 메소드 내에서만 사용되거나 클래스 외부에서 해당 변수를 액세스할 필요가 없을 때 일반적으로 사용됩니다. 이는 코드의 가독성을 높일 수 있습니다.
더 중요한 것은 각 상황마다의 적합성입니다. 클래스가 크고 복잡한 경우나 여러 개체 간의 데이터 공유가 필요한 경우, this.varname을 사용하여 변수를 명시적으로 참조하는 것이 좋습니다. 그러나 작고 간단한 클래스의 경우, this.varname이 생략되어도 가독성과 개발 편의성을 높일 수 있습니다.
JavaScript의 클래스 개념은 다른 언어와는 조금 다릅니다. 그러므로 어떤 경우에 this.varname을 사용해야 하는지는 개발자의 선택에 달려 있습니다. 주어진 상황과 프로젝트 요구사항을 고려하여 적절한 방식을 선택하는 것이 중요합니다.
요약하자면, JavaScript 클래스에서 this.varname은 변수를 명시적으로 참조하는 방법 중 하나입니다. this.varname을 사용하면 클래스 내부와 외부에서 변수를 접근하고 조작하는 것이 가능해지며, 코드의 가독성과 유지보수성을 높일 수 있습니다. 그러나 항상 필수적으로 사용해야 하는 것은 아니며, 상황에 따라 적절하게 선택하는 것이 중요합니다.
반응형
Comments