![](http://i1.daumcdn.net/thumb/T650x650/?fname=https://blog.kakaocdn.net/dn/lWbYR/btqEdke4l9b/UFdRH9AT1OarPZCtw2Ty3k/img.png)
[모던자바스크립트] 객체 (프로퍼티의 속성, 객체 잠그기) 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는 단지 값..
![](http://i1.daumcdn.net/thumb/T650x650/?fname=https://blog.kakaocdn.net/dn/b2DmLz/btqEbakCvZw/1S97qwkoVp4Yev35aILsW1/img.png)
[모던자바스크립트] 버그와 오류에 대처하는 방법 11.1 버그에 대처하기 :버그(bug)는 프로그램에 사는 벌레라는 뜻으로 정확히는 프로그램의 오류나 결함을 뜻합니다. :프로그램에 발생한 버그의 원일을 파악하여 제거하고 프로그램이 제대로 동작하도록 수정하는 작업을 디버그(debug)라고 합니다. 11.1.1 버그의 원인 1) 논리적 버그 : 프로그램의 바탕이 되는 알고리즘 자체에 오류가 있거나 알고리즘을 프로그램으로 구현하는 방법이 잘못되었을때 발생 2) 오타 : 개발자가 의도하지 않은 동작을 유발합니다. 3) 실행 환경의 변화 : 컴퓨터, OS, 프로그래밍 언어 자체의 사양이 바뀌어 프로그램이 동작하지 않는 경우도 있습니다. 이러한 상황은 버그가 아니지만 프로그램이 동작하지 않는 원일을 찾아 수정해야 ..
![](http://i1.daumcdn.net/thumb/T650x650/?fname=https://blog.kakaocdn.net/dn/KY3Xk/btqEcooUf6y/C1Oqncc8F2KQ6yp70dqpKK/img.png)
[모던자바스크립트] 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개의 변수에 여러 개의 값을 순차적으로..
![](http://i1.daumcdn.net/thumb/T650x650/?fname=https://blog.kakaocdn.net/dn/caTEVT/btqEcHPi7BR/DRqG4DkevjQDekZRN1vd4K/img.png)
[모던자바스크립트] 8.8 객체로서의 함수 8.8.1 함수는 객체 : 자바사크립트 함수는 Function 객체 특징 - 함수는 변수나 프로퍼티나 배열 요소에 대입할 수 있다. - 함수는 함수의 인수로 사용할 수 있다. - 함수는 함수의 반환값으로 사용할 수 있다. - 함수는 프로퍼티와 메서드를 가질 수 있다. - 함수는 이름 없는 리터럴로 표현할 수 있다.(익명 함수) - 함수는 동적으로 생성할 수 있다. 이러한 작업이 가능한 객체를 "일급객체" 라고 합니다. 일급 객체인 함수는 "일급 함수" 라고 합니다. 8.8.2 함수의 프로퍼티 프로퍼티이름 설명 caller 현재 실행 중인 함수를 호출한 함수 length 함수의 인자개수 name 함수를 표시할 때 사용하는 이름 prototype 프로토타입 객체의 ..
![](http://i1.daumcdn.net/thumb/T650x650/?fname=https://blog.kakaocdn.net/dn/0npUf/btqEcF40nBr/HYsvXISS9dl7nPhLqKZXYK/img.png)
[모던자바스크립트] 8.7 이름공간 : 전역 유효범위의 오염을 방지하기 위한 수단으로서 객체를 이름 공간으로 사용하는 방법과 함수를 이름 공간으로 이용하는 방법 8.7.1 전역 이름의 공간의 오염 : 전역 변수와 전역 함수를 전역객체에 선언하여 전역 유효범위가 오염될때 변수 이름과 함수 이름이 겹칠 수 있습니다. - 라이브러리 파일을 여러개 읽어 들여 사용할 때 - 규모가 큰 프로그램을 만들 때 - 여러 사람이 한 프로그램을 만들 때 프로그램 오류로 표시되지 않으므로 찾아내기 어렵다. => 전역 유효 범위의 오염을 최소화 해야합니다. 8.7.2 객체를 이름 공간으로 활용 이름 공간(name space)란 변수 이름과 함수 이름을 한곳에 모아 두어 이름 충돌을 미리 방지 활용방법 : 객체를 값으로 가지는 ..
![](http://i1.daumcdn.net/thumb/T650x650/?fname=https://blog.kakaocdn.net/dn/K5fBV/btqEbuiPAxM/f5DQYTe6cLgoxNff9s8QG0/img.png)
[모던자바스크립트] 10.4.5 Set : 중복 되지 않는 유일한 데이터를 수집하여 활용하기 위한 객체 : 외부에서 키를 사용하여 데이터 값을 추가/삭제/검색 할 수 있습니다. : 값의 데이터 타입에 제한이 없습니다. : 객체 타입도 사용할 수 있고 원시타입도 사용할수 있습니다. 동일성의 정의 Set 객체에서의 값 동일성은 일치(===)가 정의하는 동일성과는 약간 차이가 납니다. Set 객체에서는 NaN 과 NaN이 같으면 +0과 -0이 같습니다. 메서드 설명 add(value) 데이터 값 value 를 추가 clear() 객체 안의 모든 데이터 삭제 delete(value) 객체에서 value값으로 갖는 데이터를 삭제 values() 객체에서 데이터 값을 값으로 갖는 이터레이터를 반환 forEach(c..
![](http://i1.daumcdn.net/thumb/T650x650/?fname=https://blog.kakaocdn.net/dn/cSXzUV/btqEcncwcF6/pbBrbP7dwvjZlp8YpntfYk/img.png)
[모던자바스크립트] 10.4.4 Map : 데이터를 수집하여 활용하기 위한 객체 : 값의 고유한 식별 정보인 '키- 값' 의쌍을 Map 객체 안에 저장하며 순서도 기억하는 객체입니다. Object와 Map 비교 Object는 값에 키를 할당할 수 있고, 그 키로 값을 얻을 수 있고, 키를 삭제할 수 있으며 어떤 키에 값이 존재하는지 확인할 수 있다는 점에서 Map과 유사합니다. 이런 이유에 더해, 이전에는 내장된 대체제가 없었기 때문에, Object를 Map 대신 사용하곤 했습니다. Map Object 의도치 않은 키 Map은 명시적으로 제공한 키 외에는 어떤 키도 가지지 않습니다. Object는 프로토타입을 가지므로 기본 키가 존재할 수 있습니다. 주의하지 않으면 직접 제공한 키와 충돌할 수도 있습니다..