변수 관련하여 질문있습니다


  • Level 6

    e7f89455-c906-4f04-b69e-861270f44890-image.png

    15번 코드에서 list 변수를 선언한 이후에

    while문에서의 18번 코드에서 list = list + <li><a href= ~ ~ >; 굵게 칠해진 list 부분은 '<ul>' 가 맞는지 궁금합니다

    추가적으로 맞다면

    21번 코드인 list = list + '</ul>'; 에서도

    18번 코드의 list + <li><a href= ~ ~ >; 이게 21번 코드 굵게 칠해진 list 가 맞는지 궁금합니다

    즉 변수가 선언된 순서대로 적용에 영향을 받는건지 아니면 예외적인 상황이 있는건지 궁금합니다

  • Level 6

    @김원호-구름 와 진짜 너무 감사합니다...

    이해한 바로는 제가 이해한대로는

    i 가 3일때 파일목록상 2번쨰 일때 만 출력하는게 당연한거고

    설명해주신대로면 기존 list에 추가된것에 더 추가하는 형식이라는거군요 정말 감사합니다 !!!

  • Level 6

    @포롱리 님이 변수 관련하여 질문있습니다 에서 보낸 메세지:

    list

    설명을 이해했습니다 !

    결론은 둘이 다를 수 밖에 없습니다. while 문 안에서 console.log 해보시면 쉽게 알 수 있습니다 !

    var some = ['hello','world'];
    var list = '<ul>';
    while( i 가 0 일 때){
        list = list + some[i];
        // list 에는 <ul> hello 값이 들어갑니다.
    }
    while( i 가 1 일 때){
       list = list + some[i];
       // list에는 기존의 <ul>helloworld 값이 들어가게 됩니다. ( i가 0일 때 list에 <ul>hello을 넣어 두었기 때문입니다. 
    }
    

    이게 list 를 더했을 때 전부 나오는 이유 입니다 !

    var some = ['hello','world'];
    var list = '<ul>';
    while( i 가 0 일 때){
        list = '<ul>' +  some[i];
        // list 에는 <ul> hello 값이 들어갑니다.
    }
    while( i 가 1 일 때){
       list = '<ul>' + some[i];
       // list에는 기존의 <ul>world 값이 들어가게 됩니다. 
    }
    

    그러나 바꾸면 입력받는 값이 파일목록에서의 i가 3일때 파일목록상 2번째일때의 값만을 출력합니다
    이 부분이 그렇게 작동하는 이유입니다 !

    코드로 설명드렸는데 이해에 조금 도움이 되셨나요 ?

  • Level 6

    답변 감사합니다 그런데 제가 궁금한게 있습니다

    var list 로 변수 선언한게

    18 번 , 21번 라인만 할당되는데

    list = list + <li><a href="/?id${filelist[i]}">${filelist[i]}</a></li>;

    이 부분에서 굵게 칠한 list 를 그럼 '<ul>' 로 바꿔도 결과는 같아야지않나요?

    15679511-4d27-48a9-868e-a317ce71d62d-image.png

    그러나 바꾸면 입력받는 값이 파일목록에서의 i가 3일때 파일목록상 2번째일때의 값만을 출력합니다

    list로 둘 경우 22942c04-9d5a-4048-a612-267028e05cde-image.png

    파일목록의 전체를 읽어옵니다 무슨 차이인지 모르겠고 어떻게 다 읽어내는건지 잘 모르겠습니다

  • Level 6

    안녕하세요 !
    제가 코드를 보았는데, list 는 15번 라인에서 선언 되고, 18번 라인, 21번 라인 할당만 됩니다.
    그래서 마지막 결론과 별개로 아마 포롱리님의 코드 생각 하신대로 잘 작동 하실 것 같아요 ! ( ul 에서 li 를 넣어준느 함수 )
    그리고, 즉 변수가 선언된 순서대로 적용에 영향을 받는건지 아니면 예외적인 상황이 있는건지에 관해서는 JavaScript의 스코프호이스팅에 대해서 공부해 보시면 좋을 것 같습니다 !

ONLINE USERS

POPULAR TOPICS

SUGGESTED TOPICS

  • 2
  • 4
  • 2
  • 2
  • 2
  • 2
  • 2
  • 5