전체 글
-
객체지향 프로그래밍 - 객체지향 | 생활코딩Javascript/ECMAScript 2009 (ES5) 2020. 2. 7. 16:58
[출처 : https://opentutorials.org] 객체 지향 프로그래밍(OOP) 객체지향 프로그래밍(Object-Oriented Programming)은 좀 더 나은 프로그램을 만들기 위한 프로그래밍 패러다임으로 로직을 상태(state)와 행위(behave)로 이루어진 객체로 만드는 것이다. 이 객체들을 마치 레고 블럭처럼 조립해서 하나의 프로그램을 만드는 것이 객체지향 프로그래밍이라고 할 수 있다 ※ 객체는 변수와 메소드를 그룹핑한 것이다. 문법과 설계 문법 첫 번째는 객체지향을 편하게 할 수 있도록 언어가 제공하는 기능을 익히는 것이다. 이러한 기능들은 if, for문처럼 문법적인 구성을 가지고 있다. 이 문법을 이해하고, 숙지해야 객체를 만들 수 있다. 설계 두 번째는 좋은 객체를 만드는 ..
-
화살표 함수 - 문법 | PoiemawebJavascript/ECMAScript 2015 (ES6) 2020. 2. 6. 01:07
[출처 : https://poiemaweb.com] 1. 화살표 함수의 선언 화살표 함수(Arrow function)는 function 키워드 대신 화살표(=>)를 사용하여 보다 간략한 방법으로 함수를 선언할 수 있다. 매개변수 지정 방법 () => { ... } // 매개변수가 없을 경우 x => { ... } // 매개변수가 한 개인 경우, 소괄호를 생략할 수 있다. (x, y) => { ... } // 매개변수가 여러 개인 경우, 소괄호를 생략할 수 없다. 함수 몸체 지정 방법 x => { return x * x } // single line block x => x * x // 함수 몸체가 한줄의 구문이라면 중괄호를 생략할 수 있으며 암묵적으로 return된다. 위 표현과 동일하다. () => { ..
-
함수의 호출 - 함수지향 | 생활코딩Javascript/ECMAScript 2009 (ES5) 2020. 2. 4. 22:38
[출처 : https://opentutorials.org] 함수호출 function func() {} func(); - 함수 func는 Function이라는 객체의 인스턴스다. 따라서 func는 객체 Function이 가지고 있는 메소드들을 상속하고 있다. function sum(arg1, arg2){ return arg1+arg2; } sum.apply(null, [1,2]) // 3; 'sum(1,2);' 코드와 같음 # apply - 첫번째 인자는 함수(sum)가 실행될 맥락이다. 두번째 인자는 배열의 담겨있는 원소가 함수(sum)의 인자로 순차적으로 대입 o1 = {val1:1, val2:2, val3:3} o2 = {v1:10, v2:50, v3:100, v4:25} function sum(){..
-
arguments - 함수지향 | 생활코딩Javascript/ECMAScript 2009 (ES5) 2020. 2. 4. 21:10
[출처 : https://opentutorials.org] arguments : arguments는 함수안에서 사용할 수 있도록 그 이름이나 특성이 약속되어 있는 일종의 배열이다. function sum(){ var i, _sum = 0; for(i = 0; i < arguments.length; i++){ document.write(i+':'+arguments[i]+', '); // 0:1, 1:2, 2:3, 3:4 _sum += arguments[i]; } return _sum; // 10 } document.write('result : ' + sum(1,2,3,4)); - 함수에는 arguments라는 변수에 담긴 숨겨진 유사 배열이 있으며, 이 배열에는 함수를 호출할 때 입력한 인자가 담겨있다. ..
-
클로저 - 함수지향 | 생활코딩Javascript/ECMAScript 2009 (ES5) 2020. 2. 3. 23:33
[출처 : https://opentutorials.org] 클로저 : 클로저(closure)는 내부함수가 외부함수의 맥락(context)에 접근할 수 있는 것을 가르킨다. # 내부함수에서 외부함수의 지역변수에 접근할 수 있는 것을 클로저라고 한다. // outer() 외부함수 function outer() { var title = "Coding Everybody" // inner() 내부함수 function inner() { // 내부함수는 외부함수의 지역변수에 접근할 수 있다. alert(title) // "Coding Everybody" } inner(); } outer() # 외부함수의 실행이 끝나서 외부함수가 소멸된 이후에도 내부함수가 외부함수의 변수에 접근 할 수 있다. function oute..
-
값으로서의 함수와 콜백 - 함수지향 | 생활코딩Javascript/ECMAScript 2009 (ES5) 2020. 2. 3. 21:45
[출처 : https://opentutorials.org] 값으로서의 함수 JavaScript에서는 함수도 객체다. JavaScript의 함수가 다른 언어의 함수와 다른 점은 함수가 값이 될 수 있다는 점이다. 함수는 변수의 값이 될 수 있다. function a(){} // var a = function(){}; 과 동일 함수는 객체의 값으로 포함될 수 있다 a = { b : function() {} // 'b'는 속성(property), 'function(){}'은 메소드(method) } 함수는 값이기 때문에 다른 함수의 인자로 전달 될 수도 있다. function cal (func, num) { return func(num) } function increase(num) { return num+1 ..
-
유효범위 - 함수지향 | 생활코딩Javascript/ECMAScript 2009 (ES5) 2020. 2. 2. 20:40
[출처 : https://opentutorials.org] 유효범위 - 함수 밖에서 변수를 선언하면 그 변수는 전역변수, 함수 안에서 변수를 선언하면 그 변수는 지역역변수 - 지역변수의 유효범위는 함수 안이고, 전역변수의 유효범위는 에플리케이션 전역 - 같은 이름의 지역변수와 전역변수가 동시에 정의되어 있다면 지역변수가 우선 - var를 사용하지 않은 같은 이름의 지역변수는 전역변수가 된다. 지역변수의 사용을 권장 - 함수 안에 전역 변수를 사용하고 있는데 누군가에 의해 전역 변수의 값이 달라지면 함수의 동작도 달라지고 버그의 원인. - 함수의 핵심은 로직의 재활용인데 전역변수를 사용한 함수는 다른 에플리케이션에 이식하는데도 어려움을 초래한다. 전역변수의 사용 - 로직을 모듈화하는 일반적인 방법이다. -..
-
배열 ... 정규표현식 -자바스크립트 기본 | 생활코딩Javascript/ECMAScript 2009 (ES5) 2020. 2. 2. 20:36
[출처 : https://opentutorials.org] 배열 : 연관된 데이터를 모아서 통으로 관리하기 위해 사용하는 데이터 타입. 배열에 원소 추가 var li = ['a', 'b', 'c']; // 하나의 원소 추가 li.push('d'); // return 4; length를 반환 // 복수의 원소 추가 li = li.concat(['e', 'f']); // return (6) ["a", "b", "c", "d", "e", "f"]; 원소를 반환 // 배열의 앞에 원소 추가 li.unshift('z'); // return 7; length를 반환 howmany, element1, ..., elementN); - 배열의 특정 위치(index)에 원소 혹은 배열을 추가하거나 삭제할 때 사용. 대..