이것은 내 첫 번째 주제 관련 게시물입니다.
지금까지 문자열 학습부터 Big O 및 컨텍스트에 이르기까지 코딩의 모든 측면을 즐겼습니다. 개인적으로 컨텍스트는 지금까지 내가 가장 좋아하는 주제라고 생각합니다. 변수 this와 전반적인 개념은 나에게 매우 흥미 롭습니다.
초보자로서 내가 이해하는 방식은 컨텍스트가 프로그램 시작 또는 함수 호출에서 생성되는 것이며 이것은 함수 컨텍스트, 할당된 메모리가 함수에 전달되는 순간 함수에 전달되는 개체를 나타냅니다. 함수가 호출되고 생성됩니다. 그러나 전달되는 객체는 함수가 호출되는 위치에 따라 다릅니다. 전역적으로 호출되는 경우 전역 객체 또는 브라우저 창(HTML의 JS의 경우 객체)입니다. 실제 개체 내에 있는 경우 전체 개체 자체입니다. 이것은 복잡할 수 있지만 변수를 호출하거나 함수에 전달하여 값을 가져오면 개체의 속성과 메서드를 찾는 데 사용할 수 있기 때문에 유용할 수도 있습니다. 다른 개체에서 작업할 수 있습니다. 나는 이것으로 몇 개의 랩을 가지고 있었고 특히 bind()로 인해 어려움을 겪었습니다. return은 그것이 연결된 함수의 호출이 아니라 호출되어야 하는 함수이기 때문입니다.
예를 들어:
const sweetSalad = {}
function createSalad() { this.vegetable = "lettuce";
this.fruit = "mandarin oranges"
this.dressing = "balsamic vinegarette"}
이 함수를 호출하면 JS 또는 창의 전역 객체 값을 갖게 되지만 궁극적으로 sweetSalad에 아무것도 추가하지 않습니다. 대신 전역 컨텍스트에 추가하거나 추가를 시도합니다.
from the browser: window.fruit is now mandarin oranges
바인드를 사용하여 다음과 같이 명시적으로 설정할 수 있습니다.
createSalad.bind(sweetSalad)
그러나 이것은 호출해야 하는 함수만 반환합니다.
저에게 재미있는 부분은 그것을 함께 묶고 컨텍스트를 사용하고 명시적으로 설정하여 모든 조각을 모으고 해당 개체를 채우는 것입니다.
그래서,
const SweetSalad() = {};
function createSalad() { this.vegetable = "lettuce";
this.fruit = "mandarin oranges"
this.dressing = "balsamic vinaigrette"};
const tastySalad = createSalad.bind(sweetSalad);
tastySalad(); (invoking to create the object)
sweetSalad
//=> expect
{vegetable: 'lettuce',
fruit: 'mandarin oranges',
dressing: 'balsamic vinegarette'}
물론 createSalad()를 생성자 함수로 사용하고 다음과 같이 새 변수를 만드는 작업을 수행하는 더 쉬운 방법이 항상 있습니다.
const newSalad = new createSalad()
그러나 먼 길은 때로는 모든 것을 이해하는 데 도움이 될 수도 있습니다.그럼에도 불구하고 나는 생성자 함수가 재미있기 때문에 객체를 생성할 때 사용하는 것이 더 낫기 때문에 이것을 꽤 자주 사용한다는 것을 알게 되었습니다.
const mtgLegendaries = new Color()
JS가 내부에서 수행하는 작업에 대한 더 많은 통찰력을 제공하기 때문입니다. 코드를 배우면서 더 자주 사용하게 될까요? 나는 의심하지 않는다. 따라서 시간이 지남에 따라 이것을 사용하는 방법을 조금 더 살펴볼 것입니다. 솔직히 저는 코딩이 행복하기 때문입니다!
Reference
이 문제에 관하여(이것은 내 첫 번째 주제 관련 게시물입니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/mthomas7503/this-is-my-first-subject-related-post-2kde텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)