본문 바로가기

Web60

배열 [Chapter 5] 배열- 자바스크립트에서 배열은 연속적인 메모리 할당이되는 진짜 배열이 아니고 배열같은 특성을 지닌 객체를 제공해 주는 것이다. - 실제 배열보다 속도는 느리지만 사용하기 편리함에는 변함이 없다. - 배열 전용 유용한 메소드들이 있다. (sort, 값 추가제거, 인덱스 찾기 등..) 1] 배열 리터럴- 배열 리터럴은 타 언어 배열 선언과 마찬가지로 [] 를 사용하여 선언한다. ( var arr = []; ) - 타 언어에서의 배열은 한 배열의 구성요소가 같은 데이터타입 이여야 하지만 자바스크립트 에서는 어떠한 데이터 타입의 조합도 가능하다. [1, 'string', NaN, undefined, true, false, 10.1]... - 객체와 배열은 유사해 보이지만, 생성시 상속받는 .. 2018. 2. 28.
상속 [Chapter 5] 상속- 상속의 유용한 점은 코드를 재사용 하는 것이다. 새로만든 클래스가 기존 클래스와 매우 유사하다면 상속을 통해 다른 부분만 구현해낼수 있다 - 자바스크립트는 클래스를 기반으로 하는 상속을 지원하지 않고 프로토타입 체인을 이용하여 상속을 구현해낸다. (객체가 다른 객체로 바로 상속 된다) 이러한 상속의 구현방식으로 여러가지 패턴이 있다. 01] 의사 클래스 방식(Pseudoclassical)- 의사 클래스는 클래스처럼 행동하지만 진짜 클래스는 아니다. - 클래스가 없는 자바스크립트가 클래스 기반의 상속 방식을 흉내내는 것. - 생성자 함수를 통해서 객체를 생성해야 한다. //동물 생성자 함수 정의 var Animal = function( name ){ this.name = nam.. 2018. 2. 27.
콜백, 모듈, 커링, 메모이제이션 11] 콜백- 이름이 없어 호출하지 못하는 익명함수의 대표적인 용도가 콜백 함수다. - 콜백함수는 코드를 통해 명시적으로 호출하는 함수가 아니라어떠한 이벤트가 발생했을때, 특정 시점에 도달했을때 시스템에서 호출되는 함수다. 대체로 이벤트 핸들러가 콜백 함수로 등록되는 경우가 많다. (이벤트 핸들러는 'on + 이벤트명' 으로 지어져있다.)//페이지 로드시 호출퇼 콜백함수 window.onload = function(){ console.log('browser load~'); } //버튼 클릭시 호출될 콜백함수 document.getElementById("test").onclick = function() { console.log('button click~'); }; //HTML Test이벤트 핸들러가 아닌 .. 2018. 2. 27.
함수 - (스코프, 클로저) 06] 예외- 자바스크립트는 예외를 다룰 수 있는 메커니즘을 제공한다. 예외란 정상적인 프로그램의 흐름을 방해하는 비정상적인 사고를 말한다.(오류발생) - try~ catch 문은 try 블록 내에서 예외가 발생하면, catch 블록이 실행된다. var test_try = function(){ try{ var message = document.getElementById('message'); message.innerHTML = '테스트 메시지222'; }catch(error){ console.log('오류! '+ error); }finally{ console.log('무조건 실행할거야'); } } test_try(); 07] 기본 타입에 기능 추가- 모든 객체가 연결되어있는 prototype 에 기능(메소.. 2018. 2. 26.
함수 [Chapter 4] 함수- 함수는 실행 문장들의 집합을 감싸고 있다. - 함수는 코드의 재사용이나 정보의 구성 및 은닉화 등에 사용할 수 있고 객체의 행위를 지정하는데도 사용한다. 01] 함수 객체- 자바스트립트에서 함수는 객체이기 때문에 다른 값들처럼 사용 할 수 있다.변수, 객체, 배열 등에 저장될 수 있고, 다른 함수에 전달하는 인수로도, 반환값으로도 사용 할 수 있다. - 함수를 다른 객체와 구분 짓는 특징은 '호출' 할 수 있다는 점이다. - 객체는 Object.prototype 에 연결되지만 함수는 Function.prototype 에 연결된다. 함수객체의 prototype 속성에 함수 자체를 값으로 갖는 생성자(constructor) 속성이 있다.(생성자는 객체 생성시에 호출되며 메모리 생.. 2018. 2. 26.
객체 [Chapter 3] 객체- 객체는 변형 가능한 속성들의 집합. 객체는 그저 속성을 모아놓은 것이다.(숫자, 문자, 불리언, null, undefined 를 제외한 값들은 모두 객체다, 배열, 함수, 정규표현식 등은 모두 객체!) - 객체의 속성명은 문자열이면 모두 가능하다. 빈 문자열도 가능. - 속성값은 undefined를 제외한 모든 값이 사용가능 - 자바스크립트 객체는 클래스가 없지만, 다른 객체에 상속하게 해주는 프로토타입(prototype) 이 있다.이 특성을 잘 활용하면, 객체를 초기화하는 시간과 메모리 사용을 줄일 수 있다. example ) 자동차 객체화 예제//자동차 객체화 var car = { 'color' : 'black', 'model' : 'avante', 'year' : '20.. 2018. 2. 26.