javascript/Basic Conception(8)
-
javascript 33가지 기본 컨셉: 8. IIFE, Modules, Namespaces
IIFE(즉시 실행함수) 즉시 실행함수는 정의되자 마자 바로 실행되는 함수를 의미한다. 대부분 첫번째 괄호 안에 익명 함수를 정의하는 방법으로 사용한다. (function (){ console.log("add"); })(); (()=>{ console.log("arrow"); })(); 이 것을 만듬으로 기대하는 효과는 크게 두가지다. 1. 글로벌 전역 함수로 선언되지 않게 막을 수 있다. 2. IIFE안으로 다른 변수들이 접근을 못하도록 막든다. 즉 IIFE 안에 존재하는 코드는 외부에서 변경할 수 없다. 따라서 아래와 같은 경우에는 에러가 발생한다. 위의 에러는 IIFE안에 선언된 변수를 글로벌 스코프에서 접근하여 변경하려고 했기 때문에 에러가 발생했다. 물론 IIFE안에서 접근하면 오류가 발생하지 ..
2020.05.21 -
javascript 33가지 기본 컨셉: 7. Expression vs. Statement
Expression vs. Statement Expression js에서 Expression은 value를 return 하는 것을 의미한다. 그냥 단순히 value도 될 수 있고 function을 통해서 반환하는 value일 수도 있습니다. 예를 들어 1 + 1 // expression function add(a, b){ return a + b; } const ab = add(1, 2); // expression function add(a, b){ a + b; } const ab = add(1, 2); // undefined가 출력되지만 // undefined를 반환하기 때문에 expression이다. Statment js에서 지시 및 명령을 의미한다. 아래의 예를 보면 바로 이해가된다. for(var ..
2020.05.19 -
javascript 33가지 기본 컨셉: 6. Scope
Scope 스코프란 각 변수를 참조할 수 있는 범위를 나타냅니다. 한마디로 해당 변수를 사용할 수 있나 없나를 의미한다. Lexical Scope js의 경우 각 변수들의 스코프가 결정될 때는 함수가 호출될 때가 아닌 선언될 때이다. 그래서 아래의 결과로 1이 호출된다. 함수가 선언될때 x의 스코프가 결정되기 때문에 bar는 가장 바깥의 x에 접근하게 된다. let x = 1; function foo() { let x = 10; bar(); } function bar() { console.log(x); } foo(); bar(); Global Scope 어디서든지 접근하여 변수를 사용할 수 있다. 가장 최상위 단의 scope이다. var a = 1; function hi(){ console.log(a);..
2020.05.16 -
javascript 33가지 기본 컨셉: 5. Type of
JS에서는 크게 타입 걱정을 하지 않고 변수선언을 해주고 있다. 이러한 과정중에 자기가 사용하는 변수의 타입을 놓치는 경우가 있다. 이럴 때 primitive type 혹은 array, Object의 타입을 확인하기 위해 사용하는 것이 Type of이다. 오늘은 Type of 및 instanceof에 대해 알아보도록 하자!! typeof은 primitive type의 변수들의 타입을 확인할 수 있습니다. primitive의 문자열, 숫자, boolean, undefined, function(){} 등을 의미한다. typeof []의 경우는 Array인데도 object를 반환한다. Array와 Object를 구분하기 위해서는 instanceof를 사용해야한다. instanceof와 typeof는 대체로 비..
2020.05.14 -
javascript 33가지 기본 컨셉: 4. Type Conversion
javascript 33가지 기본 컨셉: 4. Type Conversion 항상 애용하고 있는 노마더코드 니콜라스 선생님이 새로운 강의를 시작하셨는데 나름 흥미가는 주제라 하루에 하나씩( 진짜 특별한 일이 없으면 이를 지킬려고 노력할 것이다.) 포스팅할 것이다. 나도 다른 사람의 강의 혹은 깃을 보고 하는 거라서 url을 첨부해놓는다. youtube: https://www.youtube.com/watch?v=QkFkFqg-J04 git: https://github.com/leonardomso/33-js-concepts javascript는 어떠한 연산이 발생할 때 다른 타입이 있다면 강제로 변환해준다. 예시) 1. int + boolean 신기하게도 숫자랑 연산을 할때는 true는 1 false는 0을 ..
2019.03.26 -
javascript 33가지 기본 컨셉: 3. Value and Reference
javascript 33가지 기본 컨셉: 3. Value and Reference 항상 애용하고 있는 노마더코드 니콜라스 선생님이 새로운 강의를 시작하셨는데 나름 흥미가는 주제라 하루에 하나씩( 진짜 특별한 일이 없으면 이를 지킬려고 노력할 것이다.) 포스팅할 것이다. 나도 다른 사람의 강의 혹은 깃을 보고 하는 거라서 url을 첨부해놓는다. youtube: https://www.youtube.com/watch?v=QkFkFqg-J04 git: https://github.com/leonardomso/33-js-concepts c언어 할때 call By Reference와 call By Value가 생각이난다. 하나는 value만을 이용하고 하나는 주소를 넘겨 주어서 주소값에 위치한 메모리의 값을 바꾸는 ..
2019.03.18