본문 바로가기

혼공JS11

06 -3 얕은 복사(참조 복사)와 깊은 복사(... 전개 연산자) 객체에 없는 속성에 접근하면 undefined 자료형이 나온다. 얕은 복사 : 단순히 다른 이름을 붙이는 형태 뿐인 복사 const a = [1, 2] const b = a b.push(3) b.push(4) console.log(a) // [1, 2, 3, 4] console.log(b) // [1, 2, 3, 4] => 이름(a, b)만 다르지 같은 배열 값이 나온다. 반대로, 깊은 복사 : 복사한 배열이 각각 완전히 독립적으로 작동한다. - 최신 자바스크립트의 전개 연산자를 사용해 [...배열] 같이 입력하면 된다. const a = [1, 2] const b = [...a] b.push(3) b.push(4) console.log(a) // [1, 2] console.log(b) // [1, 2,.. 2021. 12. 13.
04 -2 자바스크립트 for in 반복문, for of 반복문, for 반복문 for in 반복문 - 배열과 함께 사용 가능 - 배열 요소를 하나하나 꺼내서 특정 문장을 실행할 때 사용 - 근데 for of 반복문이나 for 반복문을 활용하는 것이 좋다. 실습 for of 반복문 반복 변수 of 배열 또는 객체의 형태 실습 for 반복문 - 특정 횟수만큼 반복하고 싶을 때 사용 실습 - 1부터 100까지 숫자 더하기 실습 - 반복문과 배열 ※ 혼자 공부하는 자바스크립트 04-2 참고 2021. 3. 19.
09 -1 자바스크립트 클래스 선언, 인스턴스, 생성자 + 실습 기본 미션 클래스 : 객체를 안전하고 효율적으로 만들 수 있게 해주는 문법 - 객체를 만드는 함수와 비슷한 것이 클래스라고 생각 - 클래스 이름의 첫 글자는 대문자로 지정하는 것이 개발자들의 약속 인스턴스(instance) : 클래스를 기반으로 만든 객체를 의미 - 예시로 붕어빵의 틀이 클래스이고 만들어진 붕어빵이 인스턴스 생성자(constructor) : 클래스 기반으로 인스턴스(객체)를 생성할 때 처음 호출되는 메소드 실습 - 생성자 함수와 속성 추가하기 실습 - 메소드 추가하기 실행 결과 선택 미션 - 여러 가지 프로그램에 들어 있는 객체를 생각해보기 프로그램 : 웹툰 서비스 애플리케이션 객체 : 웹툰, 작가, 이용자 (객체) 속성 - 웹툰 : 이름, 분량(파일의 크기), 댓글 목록, 별점, 업로드.. 2021. 3. 7.
09 -1 자바스크립트 - 객체 지향, 추상화, 객체 처리하는, 생성하는 함수 객체 지향 패러다임 : 객체를 우선적으로 생각해서 프로그램을 만드는 방법론 - 객체 : 속성과 메소드를 갖는 것 - 객체 지향 프로그래밍 : 객체를 만들고 객체들의 상호작용을 중심으로 개발하는 방법론 - 클래스 문법으로 객체를 효율적이고 안전하게 만든다. 추상화(abstraction) : 프로그램에 필요한 요소만 사용해서 객체를 표현하는 것을 의미 - 사전적 의미 : 복잡한 자료, 모듈, 시스템 등으로부터 핵심적인 개념과 기능을 간추려내는 것 예시로, 와인의 속성을 나열하면 와인의 색, 와인의 향, 와인에 들어간 재료, 숙성 시간, 와인의 뭐뭐 등 속성을 세세하게 나열하면 아주 많을 것(무한에 가까운)이다. 그러나 프로그램을 만드는 것에 있어 (방금 언급한 것은) 모두 필요한 속성 데이터가 아니다. 와인.. 2021. 3. 6.