본문 바로가기

javascript13

[Javascript] 1급 객체(First-class object) 1급 시민 변수에 담을 수 있다. 함수(혹은 메소드)의 인자(매개변수, Parameter)로 전달할 수 있다. 함수(혹은 메소드)의 반환값(return)으로 전달할 수 있다. 자바스크립트에서 원시 값(일반 자료형)은 1급 객체이다. var temp_int = 1; // 숫자는 변수에 담긴다. function fn_test_int(a){ return a; } var ret_int = fn_test_int(3); // 숫자는 함수의 인자가 된다. console.log(ret_int); // 숫자는 함수의 리턴이 된다. 1급 객체 * 1급 객체란, 말 그대로 1급 시민의 조건을 충족하는 객체(Object) 입니다. javascript에서 객체는 1급시민입니다. 자바스크립트의 개체는 함수의 인자가 될 수 있다... 2019. 11. 6.
[Javascript] Closure 클로저에 대해 공부를 하다보니, 아래와 같이 다양하게 표현된다. '함수 밖에서 선언된 변수를 내부에서 사용할 때 클로저가 생겨난다.' 함수 내부에 함수를 작성할 때마다, 클로저를 생성한 것이다. = 내부에 작성된 함수가 클로저. 이해가 잘 되지않아 예제로 살펴봤다. function closerFnc() { function outer(){ var innerValue = 'remember'; function innerFnc(){ console.log(innerValue); } //outer함수 내부에 innerFnc선언 후 return return innerFnc; } var globalFnc = outer(); globalFnc(); } 위 코드를 보면, 1. outer함수 내부에 innerValue라는 .. 2019. 10. 22.
[Javascript] 스코프, 호이스팅(Hoisting) 평소에 대충 알던, 정확히 설명을 못하는 주제들이 많다고 느껴서 개념부터 공부를 시작했다. 설명을 못하면 모르는 거다. [스코프] - 변수의 유효 범위. - 블록 스코프는 중괄호{}로 감싸진 범위 ->if, for, function의 {} - 함수 스코프는 function의 {} 범위 RHS, LHS 검색을 알면 이해하기 쉽다. (https://endus0713.tistory.com/17) - ES6의 let, const는 블록 스코프에서 유효하다. - var는 함수 스코프에서 유효하다. ----------------------------------------------------------------------------------------- var / let, const의 차이 차이를 공부하다보니,.. 2019. 10. 21.
[Javascript] LHS,RHS 검색 스코프를 공부하다가, 먼저 이해해야 할 것 같아서 공부했다. RHS 검색은 변수의 값을 찾는 것 LHS 검색은 값을 대입할 변수 컨테이너를 찾는다. console.log(value); //value에 대한 RHS검색 value = "aa"; // LHS 검색을 통해 "aa"를 넣을 value를 찾는다. function test(param) { console.log(param); } test(2); 위 코드는 LHS, RHS를 모두 수행 1. test(...)함수를 호출할 때, RHS검색을 통해 함수를 찾는다. 2. test(param)을 호출 할때, param=2 를 수행하며 LHS검색. 3. console.log(param)을 실행할 때, console객체에 log함수가 있는지 RHS검색, param을.. 2019. 10. 21.
javascript에서 replace all 구현 javascript에서 문자열을 replace할때 매번 검색했는데, 기억해두자 개인적으로 node.js에서 사용했을 때, 1번이 문제가 있어서 split,join으로 했던 기억이 있다. "javascript".replace("a","b") 'jbvascript' 1.정규식 javascrip".replace(/a/gi,"b") 'jbvbscript' gi는 정규표현식 옵션이다. g : global i : ignore case m : multiline 2. split, join사용 function replaceAll(str, searchStr, replaceStr) { return str.split(searchStr).join(replaceStr); } replaceAll("javascript", "a", .. 2019. 4. 25.
함수 표현식, 함수 선언식 무심코 쓰던건데, 알고 써야겠다 싶어서 찾아봤다 1. 함수 선언식 functionDec("arg1"); functionDec(aaa, bbb) { console.log("functionDec!!"); } 함수 선언식은 functionDef를 호출하는 부분보다 선언부가 아래에 있어도, 선언부분이 먼저 실행된다. 위처럼 순서가 아래에있어도 문제없이 실행됨 2. 함수 표현식 functionExp("arg1"); var functionExp = function(aaa, bbb) { console.log("functionExp !!"); } 함수 표현식은 선언부가 먼저 실행되지 않기 때문에, 위의 순서로는 에러가 발생한다. 사용 예: $('#clickEvent').click( function () { consol.. 2019. 4. 25.