본문 바로가기

JavaScript

(40)
Map 오브젝트 Map은 key-value 의 쌍으로 이루어져 있습니다. Map은 해당 키와 value를 개발 단계에서 유용하게 사용하기 좋기 떄문에 유용한 개발을 위해서 Map 오브젝트의 구조와 Map에서 제공하는 함수를 보겠습니다. Map 오브젝트 구조 let newMap = new Map([ /*Map 작성*/ ["key1","value1"], ["key2","value2"], ["key3","value3"] ]); Map은 new Map() 를 통해 인스턴스를 생성합니다 여기서 하나 주의할점은 key:value 형식으로 작성하는 것이 아니라 ["key" ,"value"] 형태로 작성을 한다는 것입니다. 선언 하는 방법에 어려운점은 없을 것입니다. Map을 활용했을 때 좋은 경우에 대해서 알아보면 아래의 경우 정도..
Arrow function ES6(ECMAScript6) 문법 부터 JS 에서는 새로운 함수 생성 방식이 등장했습니다 =>(화살표) 표시를 사용하여 함수를 생성하는 방식인데 화살표의 이름을 따 이를 arrow function(한글로 화살표 함수) 이라고 부릅니다. 화살표 함수는 기존의 function(param) 형식의 코드 형태를 축약했습니다. param => [함수 코드] 와 같은 방식으로 구현하게 되는데 이 함수는 파라미터의 경우에 따라 여러 방식의 함수를 작성 할 수 있으며, 무명/익명 함수라는 성질을 가지고 있기 때문에 화살표 함수를 즉시 적용하는 것이 아니라 호출을 하려면 Function 오브젝트를 할당할 변수를 만들고 이를 변수에 대입해 주어야 합니다 화살표 함수는 function 키워드 보다 간단하게 함수를 만들고 ..
프로토 타입 JS를 처음으로 접하신 분들에게는 생소한 개념일 수도 있지만 c++, c#., java, 파이썬 등등 여러 언어를 학교나 학원 또는 개인공부를 통해 해보신 분들에게는 class(클래스) 것이 굉장히 익숙한 단어일겁니다. 객체지향언어의 핵심적인 역할을 하는 class는 개발에서 굉장히 중요한 요소입니다. 물론, JS도 class 라는 개념이 존재합니다. ES6(ECMAScript6) 문법이 처음으로 등장하게 되면서 JS에서도 class라는 개념을 활용할 수 는 있습니다. 그렇지만 JS에서의 class의 중요도는 위에 언급한 언어들과는 사뭇 차이를 보입니다 객체지향언어 ,프로토타입 기반 언어 객체지향언어는 말그대로 class - 객체 방식의 패러다임을 지향하는 언어 입니다. 실제로 java와 같은 언어는 전..
클로저 클로저? 자바스크립트에는 자바스크립트 만의 고유의 개념은 아니지만 '클로저' 라는 것이 존재합니다. 정의를 살펴보면 “A closure is the combination of a function and the lexical environment within which that function was declared.” - 클로저는 함수와 그 함수가 선언됐을 떄의 렉시컬 환경과의 조합이다 - 이런 의마라고 한다는데 ... 사실 이해가 되지 않았습니다. 그래서 클로저를 사용한 여러 예제를 찾아보고 실제 사용되는 의미를 파악해본 결과 일반적으로 클로저는 어떤 함수가 자신의 스코프가 아닌 외부에서 선언된 변수에 접근 하는것을 의미한다라는 정의를 내릴 수 있었습니다. 사실 이말도 이해가 안될거라고 생각합니다.....
자바스크립트 스코프(scope) scope 자바스크립트 뿐만 아니라 c/c++ ,java를 포함한 어떤 언어라도 공부해 보신분들이라면 누구나 알고 있을 내용이 있습니다 바로 전역변수/ 지역변수에 대한 내용인데요 java로 지역변수와 전역변수에 대한 내용을 잠깐 다뤄 보자면 class Ex_variables{ int global_v; void addmethod(int a, int b) { global_v = a + b; } } 큰 설명없이도 global_v 라는 전역변수 개념과 addmethod 라는 매소드 안에서 쓰이는 a, b에 대한 지역 변수에 대한 개념에 대해서는 다들 알고 있을 것입니다. 또한 static 이라는 키워드를 통해 해당 소스 내에서 어디든 사용할 수 있는 전역변수 설정 또한 가능합니다.. 그런데 자바스크립트에서는 스..
var, let, const JS의 변수 선언 방식 먼저 블로그 바닐라 js 포스팅에서는 별도의 문법(일반적인 조건문 , 반목문, 객체 예외처리 ... 등등) 에 대한 내용은 다루지 않을 것입니다. js 의 문법체계는 다른 언어와 큰 차이가 없습니다 (물론 다른 언어도 마찬가지 이긴 하지만요) 하지만 다른 언어와 차별이 되는 독작적인 특성들과 같은 경우에는 특정 언어를 사용하는데 있어 중요한 요소로 작용하기 떄문에 이와 같은 내용들에 대해선 내용을 다뤄보려고 합니다. 보통 우리가 알고 있는 익숙한 언어들과 같은경우 변수를 선언하는데 있어 자료형으로 변수의 특성을 구분해 줍니다 예를 들어 정수형은 int , 문자열은 String 이런식으로 말이죠 그렇지만 JS와 같은 경우 변수를 선언하는데 있어 비교적 익숙하지 않은 자료형을 선언합니..
바닐라 JS란 무엇인가 바닐라 JS ? 이전 포스팅 내용중에 자바스크립트에 대한 포스팅을 작성한 적이 있었습니다 https://dkkim2318.tistory.com/64?category=819644 자바 스크립트 자바 스크립트? 자바스크립트를 한마디로 정의하자면 브라우저 내에서 동작하는 언어라고 할 수 있습니다. 웹 개발자들에게는 브라우저에서 동작하는 언어기 때문에 완벽하게는 아니여도 필� dkkim2318.tistory.com 자바스크립트는 포스팅한 내용과 같이 프론트 사이드에서 절대적으로 사용되는 언어이면서 동시에 서버사이드 개발이 가능한 언어 입니다. 특히 프론트 영역에서의 사용이 절대적이기 때문에 자바스크립트를 기반으로한 프레임워크들이 현재 대세로 자리잡고 있습니다. 개발에 관심이 있는 학생들이나 개발자라면 모두들 많..
컴파일 언어 vs 인터프리터 언어 컴파일 언어 개발을 하거나 공부를 하답면 다들 컴파일이라는 말을 많이 들어 봤을 것입니다 컴파일은 사전적인 의미로는 프로그밍 언어로 작성된 문서를 다른 프로그래밍 언어로 바꾸는 과정이라는 뜻을 가지고 있습니다. 어렵게 생각하지 말고 쉽게 생각해 프로그래밍 언어로 작성된 코드를 기계가 이해할 수 있는 코드로 전환해주는 과정을 말합니다 . 우리가 많이 얘기하는 컴파일러 ( ex) visual studio , eclipse ) 는 이 컴파일을 진행해주는 프로그램 입니다. 컴파일은 위와 같은 과정을 거쳐 이루어 집니다. 코드를 작성한 다음 이것을 컴파일 시키면 컴퓨터가 이해할 수 있는 언어의 형식으로 번역을 해줍니다 쉽게 생각해 구글 번역기와 같이 문서를 번역해준다고 생각하면 됩니다. 대표적으로 c/c++, c..