최초의 블로그 게시물...역대 {객체 포인터}

4395 단어 beginnersjavascript
안녕하세요! 야심 찬 소프트웨어 개발자로서 첫 번째 블로그 게시물에 오신 것을 환영합니다. 저는 현재 Flatiron School에서 코딩을 배우고 있습니다. 저는 이 블로그를 사용하여 코딩 세계에서 제 성장과 진행 상황을 추적하는 것을 목표로 합니다.

완전 공개: 나는 신입 운전자가 자동차 후드 아래에 무엇이 있는지 아는 것만큼 코딩에 대해 알고 있을 것입니다. A지점에서 B지점으로 이동하는 방법만 알고 코드가 내가 원하는 대로 작동하도록 만들지만 자동차가 기름을 더 효율적으로 사용하게 하는 방법이나 어떤 부품을 사용하는지에 대해서는 전혀 모릅니다.

내가 현재 어디에 있는지 파악하기 위해 가장 최근에 깨달은 한 가지는 - 저에게 큰 디딤돌이었습니다 - 수정을 위해 이미 정의된 개체에 변수를 포인터로 할당하는 기능입니다. 다른 범위의 해당 개체에.

예를 들면:

let variable = {}; /* first, globally defining an empty object to
be used later */

/* The "parent function" that defines an object in it's own
scope and calls the function passed in as an argument to modify
said object */
function parentFunction(functionName) {
    const dataObj = {
        key1: "I want to change this value.",
        key2: "I want to keep this value.",
    };

    variable = dataObj; /* re-assigning (or pointing) our empty
object to the defined object */

    functionName(variable); /* calling the callback function and
passing our variable to be updated */

    console.log(dataObj); /* this is just to see what's in our
defined object after the callback function's been called */
};

//Callback function that changes a value of an object
function callbackFunction(object) {
    object.key1 = "This value has been changed.";
};

parentFunction(callbackFunction); //invoking the parent function


그런 다음 콘솔 로그에서 정의된 객체가 다음과 같이 업데이트된 것을 볼 수 있습니다.

{
  key1: 'This value has been changed.',
  key2: 'I want to keep this value.'
}


참고: 콜백 함수에 전달된 인수는 실제 variable가 아니라 dataObj 변수였습니다. 그러나 dataObj가 별도의 객체가 아닌 포인터 역할을 하기 때문에 변경 사항은 variable에서 지속되었습니다. 임의의 밤에 잠들려고 할 때 생각이 떠 올랐을 때 이것은 저에게 돌파구였습니다. 이 내용을 접하는 새로운 개발자에게 유용할 수 있기를 바랍니다!

또한 내가 배운 또 다른 트릭에 대한 빠른 메모:
문자열의 space 문자를 다른 문자로 바꾸려면 다음을 사용하십시오.

string.replace(/\s/g,"<add character you want to replace with>")


읽어 주셔서 감사합니다!

좋은 웹페이지 즐겨찾기