목록WEB STUDY/JAVASCRIPT (81)
whatisthis?
📌 const, let ES2015(ES6)에서 바뀐 가장 큰 차이 중 하나로, 변수를 선언할 때, var 외에도 const(constant, 상수)와 let이 생기게 되었다. - 기존 var과의 가장 큰 차이점은 '함수스코프'를 따르지 않고 '블록스코프'를 따른다는 것이다. 함수스코프에 대한 내용은 아래 포스팅에 정리해두었다. javaScript. 함수 스코프(scope) 자바스크립트에서 ECMAscript 5 이전에는 var로 선언한 변수로 데이터를 저장했었다. (ECMA5이후에는 const와 let이 등장하였다. 현재 var은 웬만해선 쓰지 X) var로 전역(global)변수를 만드는 것은 삼가야 mywebproject.tistory.com 💡 주의! 스코프는 '호출'할 때가 아니라 '선언'할 때..
___ >> 실행 컨텍스트 + 호출스택 에 대해 포스팅 한 글을 먼저 참고하자. javaScript. 실행 컨텍스트 (Execution Context) 실행 컨텍스트 (Execution Context) 실행 컨텍스트(Execution Context)는 scope, hoisting, this, function, closure 등의 동작원리를 담고 있는 자바스크립트의 핵심원리이다. var name = 'zero'; // 전역변수.. mywebproject.tistory.com javaScript. 호출 스택 ___ >> 실행 컨텍스트에 대해 포스팅 한 글을 먼저 참고하자. javaScript. 실행 컨텍스트 (Execution Context) 실행 컨텍스트 (Execution Context) 실행 컨텍스트(..
___ >> 실행 컨텍스트에 대해 포스팅 한 글을 먼저 참고하자. javaScript. 실행 컨텍스트 (Execution Context) 실행 컨텍스트 (Execution Context) 실행 컨텍스트(Execution Context)는 scope, hoisting, this, function, closure 등의 동작원리를 담고 있는 자바스크립트의 핵심원리이다. var name = 'zero'; // 전역변수.. mywebproject.tistory.com ___ 실행 컨텍스트는 스택(Stack)과 비슷한 구조임을 알 수 있다. 여기서 스택(Stack)이란 쉽게 말해서, 후입선출(LIFO)라고 할 수 있다. (반대되는 개념으로는 큐(Queue) - 선입선출(FIFO) 가 있다.) [자료구조] 큐와 스택..
___ >> Lexical scoping에 대해 포스팅 한 글을 먼저 참고하자. javaScript. 함수 스코프(scope) 자바스크립트에서 ECMAscript 5 이전에는 var로 선언한 변수로 데이터를 저장했었다. (ECMA5이후에는 const와 let이 등장하였다. 현재 var은 웬만해선 쓰지 X) var로 전역(global)변수를 만드는 것은 삼가야 mywebproject.tistory.com ___ 클로저(Closure) - 함수와 함수가 선언된 어휘적 환경의 조합 - 비공개 변수를 가질 수 있는 환경에 있는 함수 ** 비공개 변수란? 클로저 함수 내부에 생성한 함수도 아니고, 매개변수도 아닌 변수. var makeClosure = function() { var name = 'zero'; re..
javaScript. 실행 컨텍스트 (Execution Context) 실행 컨텍스트 (Execution Context) 실행 컨텍스트(Execution Context)는 scope, hoisting, this, function, closure 등의 동작원리를 담고 있는 자바스크립트의 핵심원리이다. var name = 'zero'; // 전역변수.. mywebproject.tistory.com 지난 포스팅에서 실행 컨텍스트(Execution Context)에 대해 알아보았다. 실행 컨텍스트와 정적스코프(Lexical Scoping)을 이해하면 '호이스팅'이 무엇인지 분석할 수 있다. Hoisting(호이스팅) - 변수를 선언하고 초기화했을 때 선언부분이 최상단으로 끌어올려지는 현상. - 함수 안에 있는 ..
함수 선언 방식 = 함수가 독립된 구문 형태로 존재. 함수 표현식 방식 = 함수가 표현식의 일부로 존재. 함수선언식 (function Declaration) - 지정된 매개변수(parameter)를 갖는 함수를 정의 SYNTAX function name([param[, param,[..., param]]]) { [statements] } 함수표현식 (function Expression) - 어떤 표현식(expression) 내에서 함수를 정의 - 함수를 생성하고 변수에 값을 할당하는 것처럼 함수가 변수에 할당 - 함수 = 값(value)이 되므로 함수를 값처럼 alert나 console.log해서 코드를 출력할 수 있음. SYNTAX var myFunction = function [name]([param..
실행 컨텍스트 (Execution Context) 실행 컨텍스트(Execution Context)는 scope, hoisting, this, function, closure 등의 동작원리를 담고 있는 자바스크립트의 핵심원리이다. var name = 'zero'; // 전역변수 function wow(word) { // word는 parameter console.log(word + ' ' + name); // } function say () { // var name = 'nero'; // 지역변수 name 선언 console.log(name); // 'nero' wow('hello'); // console.log('hello zero') } say(); // nero, hello zero - Lexical..
IIFE 즉시 실행 함수 표현(IIFE, Immediately Invoked Function Expression)은 선언하자마자 즉시 실행되는 Javascript Function 를 말한다. 다른 말로 모듈 패턴(Module Pattern)이라고도 함. SYNTAX (function () { statements })(); ( function() {} )(); 이는 Self-Executing Anonymous Function 으로 알려진 디자인 패턴이고 크게 두 부분으로 구성된다. 첫 번째는 괄호((), Grouping Operator)로 둘러싸인 익명함수(Anonymous Function)이다. 이는 전역 스코프에 불필요한 변수를 추가해서 오염시키는 것을 방지할 수 있을 뿐 아니라 IIFE 내부안으로 다..
자바스크립트에서 ECMAscript 5 이전에는 var로 선언한 변수로 데이터를 저장했었다. (ECMA5이후에는 const와 let이 등장하였다. 현재 var은 웬만해선 쓰지 X) var로 전역(global)변수를 만드는 것은 삼가야 한다! 그렇다면, 전역 변수란 무엇이며, 삼가야 하는 이유는 무엇일까? ** 전역변수 (global variable) 자바스크립트에서 가장 바깥 범위(window 객체)에 변수를 만드는 것. 함수 안에 포함되지 않음. 예제를 통해 살펴보자. var x = 'global'; function ex() { var x = 'local'; x = 'change'; } ex(); // x를 바꿔본다. alert(x); // 여전히 'global' 함수 ex 안의 x는 local변수(지..
❕ 이전 포스팅 참조 (Window 객체) https://mywebproject.tistory.com/231 javaScript. Window 객체와 BOM mywebproject.tistory.com 전역 객체 중 document는 따로 DOM이라고 불리고 나머지는 브라우저에 대한 정보를 가져서 BOM이라고 불림. DOM : Document Object Model BOM : Browser Object Model 이중에서도 BOM에 대해 알아보자. 📁 navigator - 브라우저 or 운영체제에 대한 정보. - userAgent 정보를 바탕으로 분석 (navigator.userAgent) - 만약 브라우저에 따라 다른 동작을 해야하거나 (쓰레기)IE인지 체크할 때 사용 - 또한 GPS나 핸드폰 배터리 ..