• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 JavaScript, TS 게시판 getter & setter 연습문제 5번 홀수,짝수 필터

getter & setter 연습문제 5번 홀수,짝수 필터

  • 이 주제에는 3개 답변, 3명 참여가 있으며 codingapple4 년 전에 전에 마지막으로 업데이트했습니다.
4 글 보임 - 1 에서 4 까지 (총 4 중에서)
  • 글쓴이
  • #8984

    이한걸
    참가자

       let data = {
                odd : [1,3],
                even : [2,4,6,5],
                setter함수 : function(...숫자들){
                    숫자들.foreach((e) => {
                        if(e % 2 == 0){
                            this.odd.push(e);
                        }else{
                            this.even.push(e);
                        }
                        console.log(e);
                    });
                },
                get getter함수(){
                    return [...this.even ].sort();
                }
            };
            console.log(data.getter함수);

    이 코드에서 even에 홀수 값 만 console.log에 출력되는거  아닌가요..??

    odd 나 even 에서도 모든  배열 값이 출력 되어서 질문 드립니다!

    #8987

    codingapple
    키 마스터

    그전에 setter함수에 array를 입력하고 싶으신거면 코드가 이렇게 되어야할듯요? 

    setter함수 : function(숫자들){
    숫자들.forEach((e) => { 

     

    setter함수를 살펴보면 

    1. 파라미터를 [] 같은걸로 입력하면 그걸로 반복문을 돌린다고 썼습니다 

    2. 반복문 돌리면서 (1) 홀수는 저쪽 짝수는 저쪽에 입력합니다 (2) 콘솔창에 현재 반복문 돌리는 숫자를 출력합니다

    이렇게 써서 array로 입력하신거 전부 출력되는듯요?

     

     

    #10223

    ShadowLizard
    참가자

    'setter함수' 라고 하셨는데 그냥 일반함수로 처리해도 되는걸 굳이 set 키워드를 넣을 필요가 있는지 궁금합니다

     

    제가 잘 몰라서 그렇겠지만 set 키워드를 넣는 순간 일단 ...rest 파라미터는 쓸 수 없고

    set setter함수 : function(...rest) {} 같은 방식도 통하지 않는데요

     

    여기서 적절한 set 키워드를 이용한 setter 함수 예시를 하나 들어주시면 감사하겠습니다

    #10228

    codingapple
    키 마스터

    그냥 오브젝트 자료 안에 일반함수를 만들어놓고 쓸 때

    그 함수를 꺼내쓸 때 소괄호없이쓰고싶으면 get set 키워드 붙여서 만드시면 됩니다

    그럼 오브젝트.함수 = '123' 이런 식으로 사용할 수 있어서 get set을 붙이는거라 편의성을 잡고싶으면 붙이는 키워드입니다

     

    그래서 get set 함수들은 등호로 파라미터 값을 입력할 수 있어서 ... 파라미터는 못쓰게 되어있는듯요 

4 글 보임 - 1 에서 4 까지 (총 4 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠