해결된 질문
작성
·
273
0
강의 상으로 let result = String(Math.floor(Math.random() * 1000000)).padStart(6,0) 까지 배우고 여기서 같은 6자리 수가 반복으로 나오는데 이를 랜덤하게 나오게 하는 법은 내일 배운다고 말하고 바로 넘어가던데요
그 뒤 강의를 들어봐도 관련 객체강의는 더 없고 후에 갑자기 Dom을 이용해 html상으로 직접 기능을 만들고 구현해보는 강의에서 똑같이 vscode에 입력할 때는 숫자가 랜덤하게 배정되더군요.
제가 강의를 잘 못 들은건지 모르겠습니다만 저는 왜 '랜덤하게 나오지 않고 같은 숫자가 나오는지' 에 대한 해답을 강의에서 들을 수 없었습니다. 그래서 여기 게시판에 질문합니다
제가 본 강의 내용에서 놓친거라면 제 잘못이지만 강의 과정 내에서 간략히 생략되어버린 거라면 솔직히 좀 화날 거 같아요. 방대한 과정을 축약해서 설명한 것이라 간소화되는 게 많은 건 이해하지만 설명하던 것에 대한 해답이 없다면 그건 좀 아니잖아요
답변 1
1
안녕하세요 현섭님
질문주신 내용의 답변은 변수에 할당되느냐 / 함수 실행으로 받아오는 값이냐에 따라 달라지기 때문입니다.
그렇기 때문에 4탄 강의에서 함수를 설명하면서 다시 만들어 보았던 것이구요.
앞에서 이미 변수에 대해서 설명을 듣고 오셨기에 변수와 함수의 차이점을 보여드리면 이해하실 수 있는 내용입니다!
3탄에서 처음 만들었을 때는 만들었던 토큰을 변수에 할당했죠? 다시 이 변수에 재할당 해주기 전에는 토큰이 바뀌지 않을겁니다. 단지 저장된 토큰 하나를 계속해서 읽는 것 뿐이니까요.
하지만 4탄에서는 함수로 토큰을 생성하주고 있기 때문에 버튼을 누르면 토큰을 만들어주는 함수가 버튼을 누를 때마다 실행이 되고, 생성된 토큰을 target html에 넣어주기 때문에 버튼을 누를 때마다 함수가 실행되고 함수가 실행될 떄마다 계속해서 새로운 토큰이 생성되는 것입니다.
추가적으로 답변드린 내용이 공부에 도움이 되셨으면 좋겠습니다 :)