반응형

Archive/Javascript 7

[Javascript] ES6 정리

[Javascript] ES6 (ECMAScript 6) ES6에 새롭게 추가된 기능들 ES6에는 아래와 같이 새로운 기능들이 추가되었다. - arrows - classes - enhanced object literals - template strings - destructuring - default + rest + spread - let + const - iterators + for…of - generators - unicode - modules - module loaders - map + set + weakmap + weakset - proxies - symbols - subclassable built-ins - promises - math + number + string + array + objec..

Archive/Javascript 2019.08.24

[Javascript] ES5 (ECMAScript 5)

[Javascript] ES5 (ECMAScript 5) 자바스크립트를 접했다면 흔히 ES5, ES6, ECMA 어쩌고...에 대해서 한번 쯤은 들어봤을 것이다. 이번 포스팅부터는 이것들에 대해서 정리를 하고자 한다. ECMAScript란 무엇인가? 자바스크립트는 1995년에 Brendan Eich라는 사람이 발명했다고 한다. 그리고 1997년에 ECMA 표준이 되었다고 한다. ECMAScript는 Ecma 인터내셔널의 ECMA-262 기술 규격에 정의된 표준화된 스크립트 프로그래밍 언어이다. 자바스크립트를 표준화하기 위해 만들어졌고 지금도 자바스크립트가 제일 잘 알려져 있지만, 액션스크립트, J스크립트 등 다른 것들도 포함된다고 한다. ES5 (ECMAScript 5) 그래서 계속해서 자바스크립트는 기..

Archive/Javascript 2019.05.26

[Javascript] 자바스크립트의 메모리 관리

자바스크립트의 메모리 관리? 이전에 자바스크립트의 동작원리에 대해서 정리를 했었다. "그래 이젠 자바스크립트가 어떻게 동작하는지는 알겠어.." 라면서, 자바스크립트에 대해 이해한 줄 알았다. 하지만, 얼마 전에 누군가가 "자바스크립트는 메모리 관리 어떻게 해요?"라고 물어봤는데 대답을 할 수 없었다.. 다른 언어들의 메모리 관리 C 언어 malloc()나 free()와 같은 저수준의 메모리 관리를 위한 원시함수(primitive) 존재 개발자는 이들을 이용하여 명시적으로 운영체제로부터 메모리를 할당 받거나 돌려주는 작업 Java JVM(Java Virtual Machine)의 GC(Garbage Collection) 이용 JVM(Java Virtual Machine)과 Garbage Collection ..

Archive/Javascript 2019.03.03

[Javascript] 자바스크립트 Coding Convention 및 네이밍 규칙

[Javascript] 자바스크립트 Coding Convention 및 네이밍 규칙 포스팅 계기 지금까지 학부 때부터 Java만 쭉 써오다가, 회사에 들어와서 Javascript에 관심이 생겼고, 프로가 되고 싶었다. 그래서 요즘 Javascript에 대한 포스팅을 늘리면서 지식을 정리하고, javascript로 코딩을 프로처럼 할 수 있는 날을 꿈꾸며 Coding 규칙과 네이밍 규칙 같은 convention에 대해서 정리하려 했지만.... 할 수 없다....(너무 양이 많음ㅠ) convention을 따라야 하는 이유? 무엇보다도 같이 일할 팀원을 위해서이고 다른 개발자들을 배려하기 위해서!!이다. 원래 코드에 대한 convention 가이드가 나와 있는 레퍼런스가 따로 있다. w3schools Java..

Archive/Javascript 2019.03.02

[Javascript] Closure(클로저) 란?

[Javascript] Closure(클로저) 란? ClosureClosure(클로저)는 두 개의 함수로 만들어진 환경 으로 이루어진 특별한 객체의 한 종류이다. 여기서 환경 이라 함은 클로저가 생성될 때 그 범위 에 있던 여러 지역 변수들이 포함된 context를 말한다. 이 클로저를 통해서 자바스크립트에는 없는 비공개(private) 속성/메소드, 공개 속성/메소드를 구현할 수 있는 방안을 마련할 수 있다.클로저 생성하기다음은 클로저가 생성되는 조건이다.내부 함수가 익명 함수로 되어 외부 함수의 반환값으로 사용된다.내부 함수는 외부 함수의 실행 환경(execution environment)에서 실행된다.내부 함수에서 사용되는 변수 x 는 외부 함수의 변수 스코프에 있다.function outer() ..

Archive/Javascript 2018.07.14

[Javascript] Hoisting(호이스팅) 이란?

[Javascript] Hoisting(호이스팅) 이란? HoistingES6 문법이 표준화가 되면서 크게 신경쓰지 않아도 되는 부분이 되었지만, JavaScript 라는 언어의 특성을 가장 잘 보여주는 특성 중 하나이기에 정리했습니다.정의hoist 라는 단어의 사전적 정의는 끌어올리기 라는 뜻이다. 자바스크립트에서 끌어올려지는 것은 변수이다. var keyword 로 선언된 모든 변수 선언은 호이스트 된다. 호이스트란 변수의 정의가 그 범위에 따라 선언과 할당으로 분리되는 것을 의미한다. 즉, 변수가 함수 내에서 정의되었을 경우, 선언이 함수의 최상위로, 함수 바깥에서 정의되었을 경우, 전역 컨텍스트의 최상위로 변경이 된다.우선, 선언(Declaration)과 할당(Assignment)을 이해해야 한다..

Archive/Javascript 2018.07.14

[javascript] 자바스크립트의 동작원리

[JS] Javascript 작동 원리에 대해서, Event LoopJavscript를 공부하다 보면 이런 말을 종종 듣는다.싱글스레드 기반으로 동작하는 자바스크립트이벤트 루프를 기반으로 하는 싱글 스레드 Node.js이런 말은 많이 들었지만 구체적으로 내부 원리에 대해 간단하게라도 설명하는 글은 보기 힘들다. (초심자 입장에서는 쉬운 내용이 결코 아니라고 생각한다.) 이번 포스팅에서는 "정말 싱글 스레드인가?", "싱글 스레드의 정체는 무엇이며, 어떻게 싱글 스레드인가?" "이벤트 루프는 또 무엇인가?" 등등에 대해 정말 간단히 알아보기 위해 자바스크립트가 동작하는 환경(Environment)과 자바스크립트를 해석하고 실행시키는 엔진에 대해서 알아본다. Javascript Engine ?일단 한 가지 ..

Archive/Javascript 2018.07.05
반응형