목록JAVASCRIPT (8)
아디봉의.net
자바스크립트 코딩기법과 핵심패턴 제 6장 코드 재사용 패턴 #2 이 책에서는 자바스크립트에서 코드 재사용 패턴은 상속, 다른 객체와 합성, 믹스-인 객체 사용, 메서드 빌려쓰기등으로 소개하고 있다. 코드 재사용 작업을 접근할 때, GoF의 충고인 '클래스 상속보다 객체 합성을 우선시하라'를 생각하는게 중요하다. 지난 글(http://blog.jidolstar.com/795) 에서 코드 재사용 패턴중 클래스 방식의 상속에 대해서 다루었다. 나머지는 여기서 다룬다. 프로토타입을 활용한 상속 프로토타입을 활용한 상속은 클래스를 사용하지 않는 '새로운' 방식의 패턴이다. 다음과 같은 함수가 이것을 실현시킨다. 1.// 프로토타입 활용한 상속을 가능케하는 함수2.function object(o) {3.functi..
자바스크립트 코딩기법과 핵심패턴 제 6장 코드 재사용 패턴 #1 이 책에서는 자바스크립트에서 코드 재사용 패턴은 상속, 다른 객체와 합성, 믹스-인 객체 사용, 메서드 빌려쓰기등으로 소개하고 있다. 코드 재사용 작업을 접근할 때, GoF의 충고인 '클래스 상속보다 객체 합성을 우선시하라'를 생각하는게 중요하다. 클래스 방식 vs 새로운 방식의 상속 패턴 대다수의 프로그래밍 언어는 객체의 설계도로 클래스 개념이 있지만 자바스크립트에서는 클래스가 없다. 자바스크립트의 객체는 단순히 키-값의 쌍일뿐이며 언제든지 생성하고 변경할 수 있다. 클래스가 없기 때문에 다른 패턴으로 상속을 구현할 수 있다. 함수와 프로토타입, 클로저등의 개념을 적절히 섞는다면 다른 언어의 클래스및 상속패턴등을 흉내낼 수 있다. 하지만 ..
자바스크립트 코딩기법과 핵심패턴 제 5장 객체 생성 패턴 자바스크립트에서는 객체 리터럴이나 생성자 함수를 사용하여 쉽게 객체를 만들 수 있다. 자바스크립트는 네임스페이나, 모듈패키지, 비공개 프로퍼티, 스태틱 맴버 등에 대한 문법이 없기 때문에 이러한 기능을 구현하거나 대체하는 범용적인 패턴이 존재한다. 네임스페이스 패턴 장점 전역 공간을 깨끗하게 유지하고 코드를 구조화하여 정리를 도와주는 패턴. 사용법 전역 네임스페이스의 객체의 이름은 애플리케이션 이름이나 라이브러리의 이름, 도메인명, 회사 이름중 선택해서 사용한다.눈에 띄기 쉽도록 전역 객체 이름은 모두 대문자로도 사용한다. 단점 모든 변수와 함수에 접두어를 붙여야 하므로 전체적으로 코드량이 늘어남전역 인스턴스가 하나뿐이므로 코드의 어느 한부분이 수..
자바스크립트 코딩기법과 핵심패턴 제 4장 함수 자바스크립트에서 함수의 중요한 특징 함수는 일급객체 : 값이 전달될 수 있고 프로퍼티와 메서드를 확장할 수 있다.함수는 지역 유효범위 제공 : 함수외에 다른 중괄호({}) 묶음은 지역 유효범위를 제공하지 않는다. 로컬 변수의 선언은 로컬 유효범위의 맨 윗부분으로 호이스팅이 된다. 함수를 생성하는 문법 기명 함수 표현식(named function expression)1.var add = function add(a, b) {2.return a + b;3.};무명 함수 표현식(unnamed function expression) = 함수 표현식 , 익명함수(anonymous function)1.var add = function (a, b) {2.return a + ..
자바스크립트 코딩기법과 핵심패턴 제 3장 리터럴과 생성자 정리 이 장에서 중요한 것은 생성자 사용을 자제하고 리터럴 표기법을 사용하라는 것임! 리터럴 표기법이 생성자 함수 사용보다 더 간결하고 짧다.리터럴 표기법을 사용하면 유효범위 판별 작업이 발생하지 않는다.리터럴 표기법을 사용하는 것이 더 안정적이다. new Object()에 인자가 동적으로 전달되는 경우 예기치 않는 결과가 나올 수 있다. var o = new Object(1);에서 o.constructor === Number는 true가 된다.생성자는 함수내에 반환문이 없더라도 암묵적으로 this를 반환한다. 이 말은 this대신 다른 것도 반환할 수 있다는 것을 의미한다.생성자 패턴을 사용하면 논리적 오류가 발생할 수 있다. 자바스크립트에서 생..
자바스크립트 코딩기법과 핵심패턴 제 2장 기초 정리 유지보수 가능한 코드 작성 유지보수가 가능한 코드란 다음과 같은 특징을 가짐읽기 쉽다.일관적이다.예측 가능하다.한 사람이 작성한 것처럼 보인다.문서화되어 있다. 전역변수를 최소화 하라! 전역변수는 자바스크립트 애플리케이션이나 웹페이지 모든 코드 사이에서 공유된다는 문제점이 있다. 그러므로 전역변수는 최소한으로 사용한다. 1.myglobal = "hello"; //안티패턴2.console.log(myglobal); //hello3.console.log(this.myglobal); //hello4.console.log(window.myglobal); //hello5.console.log(window["myglobal"]); //hello 암묵적 전역(imp..
자바스크립트 코딩기법과 핵심패턴 제 1장 개요 정리 자바스크립트의 함수는 일급객체(first-class object) 이다. 변수나 데이터 구조 안에 담을 수 있다.인자로 전달할 수 있다.반환 값으로 사용할 수 있다.런타임에 생성할 수 있다.할당에 사용된 이름과 관계 없이 고유하게 식별할 수 있다. 패턴 디자인 패턴 : C++, Java등에서 사용되는 GoF에서 정의된 패턴, 자바스크립트는 그대로 쓰지 않고 적절하게 섞어서 사용할 것이다.코딩 패턴 : 자바스크립트에서 효율적이면서 유연한 개발을 위해 사용하는 특유 패턴. 일종의 코드 컨벤션이 될 수 있겠다.안티 패턴 : 오류를 낼 가능성이 많아서 되도록 사용하지 말아야할 패턴 자바스크립트 개념 객체지향 : 자바스크립트는 객체지향 언어이다.클래스가 없다.프..
JavaScript Function A. 용어정의 ○ Object 개체, javascript에서 의미한 개체는 HTML 문서, 브라우저(윈도우) 같은 것을 의미, 메서드와 속성 ① date : Date는 시스템의 날짜와 시간을 얻기 위한 개체이다. -> 생성방법 Nameofobject = new Date(); ② document : 이것은 해당 자바스크립트를 포함하고 있는 HTML 문서를 참조할 수 있는 개체 ③ location : Location은 특정 URL을 지칭하는 개체이다. -> 사용방법 parent.location='index.html' ※ location이란 속성도 있는데 사용법이 서로 틀리다는 것을 기억하기 바란다. ④ window : window는 브라우저 화면을 참조할 수 있는 개체 ○..