728x90
문제
아래의 코드에서 왜 X가 undefined 가 아닌지 모르겠다.
function createAdder (num){
return function(x){
return x + num;
}
}
const addFive = createAdder(5);
console.log("addFive: " + addFive(10)); //15
시도
변수에 값을 할당하지 않고 5를 더해 본다. > NaN
let con
console.log("con: " + con); //undefined
let five = con +5
console.log( "five: " + five); //NaN
이해가 되지 않아 튜터 님께 질문함
> 튜터 님 : 스코프의 개념을 다시 공부해 보는 것도 좋을 것 같습니다
스코프의 개념을 공부하고 나서 한 생각
function(x)는 애초에 x가 비어 있는 값이 아니다.
createAdder(5)에서 5라는 값을 줬다. // 알고보니 x가 아니라 num에 준 것임.
> 튜터 님 : 자세히 설명 드리겠습니다
해결
튜터 님 : 함수가 작동하는 원리를 순차적으로 설명해 주심
console.log(addFive) 를 같이 해 봄. // 함수를 리턴한다.
내가 이해한 내용 : 함수 안에 함수를 주고 num의 값 5와 x의 값 10을 주었기 때문에 undefined 가 나오지 않는다.
알게 된 점
한 줄 한 줄 과정을 살피고 이해가 안 되는 부분은 console.log()로 찍어 보자.
변수를 선언하면 그 값의 타입이 뭔지 생각해 보자.
'학습 내용 정리 > javascript' 카테고리의 다른 글
javascript의 특징 및 역사 (0) | 2023.06.18 |
---|---|
javascript 문자열의 인덱스 찾기 (2) | 2023.06.09 |
javascript 에서의 8진수 표현법 (0) | 2023.05.23 |
javascript 문법 총정리 (0) | 2023.05.22 |
javascript 6. 객체 순회 , 객체 분해 , 배열 분해 (1) | 2023.05.03 |