
[모던자바스크립트] 12.1 정규 표현식의 기본 정규 표현식 : 문자열의 패턴을 표현하기 위한 도구 자바스크립트의 정규표현식은 Perl의 정규 표현식을 받아들인 것이며, ECMAScript3 부터 표준이 되어있습니다. Perl, Java, JavaScript, PHP, Python, Ruby 등의 프로그램 언어에 내장되어 있으며, Emacs,vi를 비롯한 많은 텍스트 편집기에도 내장되어있습니다. 12.1.2 정규 표현식의 생성 정규식을 만드는 방법에는 두 가지가 있습니다. 1. RegExp객체의 생성자 함수를 호출하는 방법도 있습니다: var re = new RegExp("ab+c"); 정규식의 패턴이 변경될 수 있는 경우, 혹은 사용자 입력과 같이 다른 출처로부터 패턴을 가져와야 하는 경우에는 생성자 ..

[모던자바스크립트] 객체 (프로퍼티의 속성, 객체 잠그기) 9.4 프로퍼티의 속성 : 'Property' 는 속성 이란 뜻으로, JS에서는 객체 내부의 속성을 의미합니다. // 객체 생성 var ob = {a: 1}; // property 접근하기 ob.a; => 1 // property 수정하기 ob.a = 0; ob.a; => 0; // property 추가하기 ob.b = 2; ob.b; => 2 // property 삭제하기 delete ob.b; ob.b; => undefined Property는 총 6가지의 속성을 가지고 있습니다. value get set enumerable writable configurable value value는 일단 프로퍼티의 속성값을 말합니다. value는 단지 값..

[모던자바스크립트] 버그와 오류에 대처하는 방법 11.1 버그에 대처하기 :버그(bug)는 프로그램에 사는 벌레라는 뜻으로 정확히는 프로그램의 오류나 결함을 뜻합니다. :프로그램에 발생한 버그의 원일을 파악하여 제거하고 프로그램이 제대로 동작하도록 수정하는 작업을 디버그(debug)라고 합니다. 11.1.1 버그의 원인 1) 논리적 버그 : 프로그램의 바탕이 되는 알고리즘 자체에 오류가 있거나 알고리즘을 프로그램으로 구현하는 방법이 잘못되었을때 발생 2) 오타 : 개발자가 의도하지 않은 동작을 유발합니다. 3) 실행 환경의 변화 : 컴퓨터, OS, 프로그래밍 언어 자체의 사양이 바뀌어 프로그램이 동작하지 않는 경우도 있습니다. 이러한 상황은 버그가 아니지만 프로그램이 동작하지 않는 원일을 찾아 수정해야 ..

[모던자바스크립트] 8.9 고차함수 고차 함수(Higher order function)는 함수를 인자로 전달받거나 함수를 결과로 반환(return)하는 함수를 말한다. 다시 말해, 고차 함수는 인자로 받은 함수를 필요한 시점에 호출하거나 클로저를 생성하여 반환한다. 자바스크립트의 함수는 일급 객체이므로 값처럼 인자로 전달할 수 있으며 반환할 수도 있다. See the Pen [javascript] 고차함수 by jeongahlee (@jeongahlee) on CodePen. 참조 사이트 : https://poiemaweb.com/js-array-higher-order-function Higher order function | PoiemaWeb 배열(array)는 1개의 변수에 여러 개의 값을 순차적으로..

[모던자바스크립트] 8.8 객체로서의 함수 8.8.1 함수는 객체 : 자바사크립트 함수는 Function 객체 특징 - 함수는 변수나 프로퍼티나 배열 요소에 대입할 수 있다. - 함수는 함수의 인수로 사용할 수 있다. - 함수는 함수의 반환값으로 사용할 수 있다. - 함수는 프로퍼티와 메서드를 가질 수 있다. - 함수는 이름 없는 리터럴로 표현할 수 있다.(익명 함수) - 함수는 동적으로 생성할 수 있다. 이러한 작업이 가능한 객체를 "일급객체" 라고 합니다. 일급 객체인 함수는 "일급 함수" 라고 합니다. 8.8.2 함수의 프로퍼티 프로퍼티이름 설명 caller 현재 실행 중인 함수를 호출한 함수 length 함수의 인자개수 name 함수를 표시할 때 사용하는 이름 prototype 프로토타입 객체의 ..

[모던자바스크립트] 8.7 이름공간 : 전역 유효범위의 오염을 방지하기 위한 수단으로서 객체를 이름 공간으로 사용하는 방법과 함수를 이름 공간으로 이용하는 방법 8.7.1 전역 이름의 공간의 오염 : 전역 변수와 전역 함수를 전역객체에 선언하여 전역 유효범위가 오염될때 변수 이름과 함수 이름이 겹칠 수 있습니다. - 라이브러리 파일을 여러개 읽어 들여 사용할 때 - 규모가 큰 프로그램을 만들 때 - 여러 사람이 한 프로그램을 만들 때 프로그램 오류로 표시되지 않으므로 찾아내기 어렵다. => 전역 유효 범위의 오염을 최소화 해야합니다. 8.7.2 객체를 이름 공간으로 활용 이름 공간(name space)란 변수 이름과 함수 이름을 한곳에 모아 두어 이름 충돌을 미리 방지 활용방법 : 객체를 값으로 가지는 ..