🤍 전 강의 25% 할인 중 🤍

2024년 상반기를 돌아보고 하반기에도 함께 성장해요!
인프런이 준비한 25% 할인 받으러 가기 >>

  • 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    해결됨

geolocation부분에 대해 질문있습니다.

24.05.28 11:56 작성 24.05.28 17:13 수정 조회수 88

0

geolocation부분에

const askForLocation = function () {
  navigator.geolocation.getCurrentPosition((position) => {
    console.log(position);
  });
};
askForLocation();

이렇게 함수가 있는데 여기서 궁금한점이 askForLocation(); 함수 호출부분에 인자로 전달하는 것이 없는데 매개변수로 position에 위치정보 객체형식으로 콘솔에 나오는 이유가 뭔지 궁금합니다.

답변 2

·

답변을 작성해보세요.

0

안녕하세요! 부드러운 족제비님!

askForLocation() 함수는 우리가 만든 함수이기 때문에, 안쪽에 있는 navigator.geolocation.getCurr.. 의 함수와는 상관이 없답니다!

 

예를들면 이런 것이죠!

const 나의함수 = function(){
  setInterval(() => {
    console.log("안녕하세요")
  }, 1000)
}
나의함수()

위 로직에서, 나의함수()를 실행시키는 것과, 함수 내부의 setInterval() 함수와는 아무런 관련이 없다는 것 아시겠죠?!

 

질문의 코드를 다시 보시면,

const 나의함수 = function () {
  navigator.geolocation.getCurrentPosition((위치) => {
    console.log(위치);
  });
};
나의함수();

마찬가지로 나의함수()를 실행시키는 것과, 함수 내부의 navigator.geolocation.getCurrentPosition() 함수와는 아무런 관련이 없답니다!^^

 

따라서, 나의함수는 무시하고 내부의 함수만 볼까요?

// 1초에 한 번씩 "안녕하세요" 라고 보여주는 함수
setInterval(() => {
  console.log("안녕하세요")
}, 1000)


// 내 위치 불러오는 함수
navigator.geolocation.getCurrentPosition((위치) => {
  console.log(위치);
});

위와 같이 정리해 볼 수 있겠죠?!

마지막으로, "위치"라고 작성된 부분은 getCurrentPosition 함수에서 보내주는 결과값 이랍니다!

"어떻게 함수의 실행 결과를 이런식으로 받아올 수 있는가?"에 대한 내용은 난이도가 있는 부분으로, 뒷부분의 callback, promise, async-await 수업에서 자세하게 다루게 됩니다!
현재 기초 과정에서는 "getCurrentPosition의 실행 결과로 위치가 저렇게 받아와지는구나!" 정도로 이해하셔도 충분합니다!^^

 

0

tutiturechanic님의 프로필

tutiturechanic

2024.05.28

An unending arcade game, geometry dash requires the player to manage his character through levels.

채널톡 아이콘