Study/JavaScript
-
[생활코딩] JavaScript 객체지향 : 상속, Prototype, ObjectStudy/JavaScript 2019. 12. 8. 18:06
상속 객체는 연관된 로직들로 이루어진 작은 프로그램이라고 할 수 있다. 상속은 객체의 로직을 그대로 물려 받는 또 다른 객체를 만들 수 있는 기능을 의미한다. 기존의 로직을 수정하고 변경해서 파생된 새로운 객체를 만들 수 있게 해준다. 즉, 상속이란 부모의 기능을 자식이 물려받는 것이다. 상속을 하게 되면? - 코드의 중복이 줄어든다. - 상속법 : 자식객체.prototype = new 부모객체(); - 부모객체에서 프로퍼티들 정의할 때 prototype 붙여준다. - 기능 추가 역시 자식객체를 생성하고 prototype을 붙여서 프로퍼티를 정의한다. function Person(name){ this.name = name; } Person.prototype.name=null; Person.prototyp..
-
[생활코딩] JavaScript 객체지향 : thisStudy/JavaScript 2019. 12. 8. 10:01
this this는 함수 내에서 함수 호출 맥락(context)를 의미한다. 즉 함수를 어떻게 호출하느냐에 따라서 this가 가리키는 대상이 달라진다. 1. 함수 호출 시 : 전역객체 window function func(){ if(window === this){ console.log("window === this"); } } func(); // window === this 2. 객체 소속인 메소드 호출 시 : 부모 객체 var o = { func : function(){ if(o === this){ console.log("o === this"); } } } o.func(); // o === this 3. new를 이용한 생성자 호출 시 : 생성되는 객체 생성자는 빈 객체를 만든다. 그리고 이 객체 내에..
-
[생활코딩] JavaScript 객체지향 : 생성자와 newStudy/JavaScript 2019. 12. 7. 18:06
객체지향 프로그래밍 프로그램을 만들면서 규모가 커질때, 변수나 함수와 같은것이 아주 많아지게 되고, 복잡해 지기 시작한다. 그래서 비슷한 맥락의 변수와 메소드를 그룹핑하기로 하고 '객체'라는 것이 탄생하게 된다. 즉, 로직을 상태와 행동(변수와 메소드)로 나누고 연관된 것들끼리 그룹핑한 것을 객체라 하고, 이를 조립해 프로그래밍을 하는 것을 객체지향 프로그래밍이라고 할 수 있다. 부품화와 재활용성을 극대화시키는 방법이다. 소프트웨어의 설계란 현실을 프로그래밍적으로 추상화하는 것을 말한다. 객체지향의 여러 가지 특성들 - 부품화 : 프로그램의 로직들을 기능별로 나눠 부품화하는 것 - 은닉화, 캡슐화 : 로직을 온전히 부품화하기 위해 내부동작법은 케이스에(객체) 숨기고 사용법(메소드)만 노출하는 것 - 인터..
-
[생활코딩] JavaScript 함수 : scope, callback, closure, arguments, apply&callStudy/JavaScript 2019. 12. 7. 10:36
자바스크립트의 핵심적인 도구는 함수다. 자바스크립트의 함수는 매우 강력하다. 함수에 대한 이해 없이는 자바스크립트를 잘 다루기 어렵다. 또한 자바스크립트에서 함수는 객체를 이해하는 데 가장 중요한 기초를 이룬다. 유효범위 Scope - 유효범위(Scope)는 변수의 수명을 의미한다. - 지역변수는 특정 함수 안에서 선언된 변수이며, 유효범위는 함수 안이다. - 전역변수는 함수 바깥에서 선언되고, 유효범위는 애플리케이션 전역에서 접근이 가능하다. 즉 모든 함수에서 이 변수에 접근할 수 있다. 예시) var vscope = 'global'; function fscope(){ var vscope = 'local'; alert(vscope); } fscope(); // 'local' ▶ var vscope = ..
-
[생활코딩] JavaScript 모듈 & 라이브러리Study/JavaScript 2019. 12. 6. 17:45
모듈(module) 모듈화(Modularization)란 수 많은 로직을 재사용할 수 있는 단위로 나누어, 별도의 모듈이 라는 형태로 떼어내 다른 프로그램에 부품으로 사용하는 기법이다. 그리고 그 결과물을 모듈이라 한다. 자바스크립트의 경우 긴 코드를 js파일에 따로 저장해서 프로그램 크기를 줄이는 것을 모듈화라고 한다. 예시) 분할된 파일을 불러오기 - 호스트 환경 javascript는 웹브라우저를 위한 언어로 시작했지만(클라이언트), 서버 측에서 실행되는 javascript도 있다(서버사이드 Node.js). 따라서 호스트 환경에 따라 모듈화 하는 방법을 알아야 한다. - 모듈과 라이브러리의 차이 모듈이 프로그램의 작은 부품이라 하면, 라이브러리는 자주 사용되는 부품을 재사용하기 편하게 잘 정리한 코..