최초의 블로그 게시물...역대 {객체 포인터}
4395 단어 beginnersjavascript
완전 공개: 나는 신입 운전자가 자동차 후드 아래에 무엇이 있는지 아는 것만큼 코딩에 대해 알고 있을 것입니다. 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>")
읽어 주셔서 감사합니다!
Reference
이 문제에 관하여(최초의 블로그 게시물...역대 {객체 포인터}), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/allisonkim/first-blog-postever-20p1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)