programing

Javascript/Typescript에서 "let _self = this"는 무엇을 의미합니까?

i4 2023. 6. 20. 21:21
반응형

Javascript/Typescript에서 "let _self = this"는 무엇을 의미합니까?

코드 스니펫에서, 왜?this.identifier효과는 없지만,_self.url일?

  getConfig() {
    let _self = this;
    return function () {
      this.page.url = this.url || window.location.href;
      this.page.identifier = _self.identifier;
      this.page.category_id = this.categoryId;
      this.language = this.lang;
    };
}

그것도let _self = this정말로?

함수에는 컨텍스트라는 것이 있습니다.컨텍스트는 함수가 호출되는 개체입니다.

let person = {
   name:"bill",
   speak:function(){
      console.log("hi i am "+this.name)
   }
}

만약 당신이 사람을 한다면요. ㅠㅠ

정의된 개체에서 호출됩니다.변수person컨텍스트입니다.

그래서 이렇게 말할 때.그것은 person.name 라고 말하는 것과 같습니다.

이제 기능을 다른 곳에 연결할 수 있습니다.

var newperson = {name:'jill'}
newperson.speak = person.speak;

인쇄됩니다.hi i am jill전화가 왔을 때.

이제 2단계로 넘어가겠습니다.

GetConfig는 함수를 반환하지만 이 함수는 개체에 연결되지 않습니다.

이것 좀 보세요.

let person = {
   name:"bill",
   getSpeakFunction:function(){
      return function(){
         console.log('hi my name is '+this.name)
      }
      
   }
}


let func = person.getSpeakFunction()

이제 함수 func는 모두 혼자입니다.

이제 누가 누구인지 불릴 때this대체 누구를 말하는 겁니까?그것이 기능이 생각하고 있는 것입니다.

그래서 우리는 다음과 같이 기능을 도울 수 있습니다.

let person = {
   name:"bill",
   getSpeakFunction:function(){
      let context = this; //listen hear function this is what i am talking about
      return function(){
         console.log('hi my name is '+context.name)
      }
      
   }
}

let func = person.getSpeakFunction()

this언어가 이것의 가치를 결정하지만 문맥은 그렇지 않습니다.컨텍스트는 할당된 모든 컨텍스트가 됩니다.프로그래머가 변경하지 않으면 변경되지 않습니다.

그래서 단어를 사용하는 것._self,context,$this또는 이 값을 할당할 때 다른 값을 사용할 수 있습니다.다른 일반 변수와 마찬가지로 '제자리에 고정'되어 있습니다.

let a = 2;
//this will never change

let _self = this //_self will never change as it's your variable 

이제 당신이 당신의 기능을 호출하고 그것이 찾을 때._self그것은 당신이 무슨 말을 하는지 정확히 알고 있습니다.

그것은 가치가 있습니다.this(함수를 호출하는 방법에 따라 결정됨) 그리고 변수에 저장합니다 (폐쇄에서 여전히 액세스 가능) (다른 값을 가질 것)this라는 말이 나올 때는getConfig반환됨).

언급URL : https://stackoverflow.com/questions/40976031/what-does-let-self-this-mean-in-javascript-typescript

반응형