목록javascript (31)
함께 성장하는 프로독학러
안녕하세요, 프로독학러 입니다. 오늘은 문자열 안에서 변수를 사용할 때 좀 더 직관적이고 편리한 방법인 Template literals에 대해서 알아보도록 하겠습니다. 알아보기 이전에, 기존 자바스크립트에서 문자열과 변수를 함께 사용하려면 어떤 방법을 사용했는지 살펴보도록 하겠습니다. 123var obj = {a:1, b:2};console.log('In the obj object, there are properties. a is '+obj.a+' and b is '+obj.b+'.');// In the obj object, there are properties. a is 1 and b is 2.cs 위의 예제에서 변수 obj 안에는 객체를 담았습니다.그리고 콘솔창에 obj객체를 설명한 글을 담았습니다...
안녕하세요, 프로독학러 입니다. 이번 포스팅에서는 객체를 병합하는 메서드인 object.assign 메서드에 대해서 알아보도록 하겠습니다. 먼저 표현식 부터 보시겠습니다. Object.assign(target, ...sources)object.assign 메서드의 첫 번째 인자는 타겟입니다.두 번째 인자부터 마지막 인자까지는 소스 오브젝트입니다.소스 오브젝트는 타겟 오브젝트에 병합됩니다.그리고 리턴값으로 타겟오브젝트를 반환합니다. 이해를 돕기 위해 예제를 보겠습니다. 123var obj = {a:1};var copy = Object.assign({}, obj);console.log(copy); // {a: 1}cs 위의 예제에서 obj는 a라는 프로퍼티 하나를 가진 객체입니다.그리고 copy라는 변수에 ..
안녕하세요, 프로독학러 입니다. 이번 포스팅에서는 직관적으로 이해하기 힘든 'this'란 녀석에 대해서 알아보도록 하겠습니다. 자바스크립트에서 this란 함수의 현재 실행 문맥을 의미합니다. 실행 문맥이란 단어가 익숙하지 않으신 분들을 위해 첨언 하자면, '함수가 실행되는 객체'라고 이해하시면 될 것 같습니다.전역에서 실행되고 있는 함수라면 전역객체 Window의 메소드가 실행 되는 것이므로 이때 함수의 this는 Window 객체 입니다. this가 현재 함수의 실행 문맥이라 했는데, javascript에는 4가지의 함수 실행 타입이 있습니다. 함수 실행 : alert('Hello world') 메소드 실행 : console.log('Hello world') 생성자 실행 : new RegExp("\d"..
안녕하세요, 프로독학러 입니다. 이번 포스팅에서는 ES6의 arrow function과 기존 자바스크립트의 함수선언(function declaration)의 차이점에 대해서 알아보도록 하겠습니다.ES6로 넘어오면서 arrow function이 기존의 함수선언을 완벽히 대체할 수 있을거라 생각하시는 분들이 계실 것 같은데요, (저 역시도 그렇게 생각했습니다) 둘은 같은 듯 하지만 다른점이 있습니다. 일단 이를 이해하기 위해서는 this에 대한 이해가 필요합니다.* this에 대해서 알아보려면 다음 링크를 참조하세요. ES6의 화살표함수(arrow function) 이전에는 모든 새로운 함수는 자신만의 this를 정의 했습니다(이 함수가 생성자인 경우는 새로운 객체, 엄격모드 함수 호출에서는 undefine..
안녕하세요, 프로독학러 입니다. 이번 포스팅에서는 배열의 여러 메서드 중 reduce 메서드에 대해서 알아보겠습니다. 배열에는 매핑을 위한 map 메서드라든지, 하나의 조건을 만족하는 요소를 찾기 위한 some 메서드라든지, 여러 메서드가 있습니다.현재 map 메서드에 대해서는 포스팅이 돼 있는 상태입니다만, 다른 여러 매서드들에 대해서도 차근차근 포스팅하도록 하겠습니다. 그럼 본격적으로 reduce메서드에 대해서 알아보도록 하겠습니다.reduce메서드는 배열의 요소들을 하나씩 돌며 이전 콜백의 리턴값과 현재 콜백의 리턴값을 가지고 어떤 작업을 하는데 유리한 메서드 입니다. 표현식은 다음과 같습니다. arr.reduce(callbackFunction(accumulator, currentValue[, cu..
안녕하세요, 프로독학러 입니다. 이번 포스팅에서는 저번 포스팅(전개연산자)과 비슷하지만 쓰임이 약간은 다른 나머지 매개변수에 대해서 알아보도록 하겠습니다. 나머지 매개변수는 정해지지 않은 수(부정수) 인수를 배열로 나타낼 수 있도록 하는 표현법입니다. 표현식은 다음과 같습니다. function(a, b, ...theArgs) { // ... }함수를 선언 할 때, 해당 함수가 호출될 때 값으로 들어올 인자를 정하는 것을 매개변수라고 합니다. 이 매개변수를 지정할 때 매개변수의 이름 앞에 ...을 붙이면 이는 나머지 매개변수를 의미합니다. 그리고 이는 함수내에서 배열로 인식됩니다. 이해를 돕기 위해 다음 예제를 보겠습니다. 1234567var add = (...rest) => { console.log(re..
안녕하세요, 프로독학러입니다. 이번 포스팅에서는 ES6의 전개연산자에 대해서 알아보도록 하겠습니다. 전개연산자는 함수를 호출하는 인자로 배열을 사용하고 싶을 때나 배열을 정의하는 리터럴 내에서 사용할 수 있습니다.표현식은 아래와 같습니다. 1) 함수를 호출하는 인자로 배열을 사용할 때myFunction(...iterableObj);2) 배열 리터럴[...iterableObj, 4, 5, 6]2-1) 배열 리터럴 비구조화 (iterableObj를 선언하지 않고 할당)[a, b, ...iterableObj] = [1, 2, 3, 4, 5];1) 전개연산자의 함수호출용의 용도를 예제와 함께 알아보겠습니다. 12345function add(a, b, c){ return a+b+c;}var arr = [2, 4,..
안녕하세요, 프로독학러 입니다. 이번 포스팅에서는 자바스크립트 배열의 메서드 중 map 메서드에 대해서 알아보겠습니다. 표현식은 다음과 같습니다. var new_array = arr.map(function callback(currentValue[, index[, array]]) { // new_array의 새 요소 반환 }[, thisArg])map메서드의 첫 번째 인자로는 콜백함수가 옵니다.콜백함수의 첫 번째 인자는 배열의 각 원소(item)가, 생략이 가능한 두, 세 번째 인자는 해당 원소의 index값과 전체 배열이 들어옵니다. map메서드의 두 번째 인자는 callback함수를 실행할 때 this로 들어오는 값을 지정하는 것입니다. 생략 가능하며, 기본 값은 Window객체 입니다. map메서드를..
안녕하세요, 프로독학러 입니다. 이번 포스팅에서는 ES6의 새로운 기능인 arrow function에 대해서 알아보겠습니다. arrow function은 익명함수를 기존 자바스크립트 문법보다 좀 더 간단하게 표현할 수 있는 방식입니다. 표현식은 다음과 같습니다. const (혹은 let) 변수명 = (파라미터) => { ... 함수 내용 ... } 비교를 위해 기존 자바스크립트에서 익명함수를 변수에 할당하는 것과 비교해 보겠습니다. 123var _addFunc = function(a, b){ return a+b;}cs 다음은 같은 예제를 arrow function을 이용해 만든 것입니다. 123const _addFunc = (a, b) => { return a+b;}cs 훨씬 간단하게 표현할 수 있는 것..
안녕하세요, 프로독학러 입니다. 이번 포스팅에서는 자바스크립트에서 비동기적 처리를 진행하는 과정, 방식에 대해서 제가 이해한 부분을 이야기 해 볼까 합니다. * Phlilp Roberts의 What the heck is the event loop anyway? 영상을 참고 했습니다.Phlilp Roberts : What the heck is the event loop anyway? | JSConf EU 2014https://www.youtube.com/watch?v=8aGhZQkoFbQ 자바스크립트는 내부적으로 stack, webapis, task queue, event loop 를 가지고 있습니다. stack 은 코드를 실행하는 작업장으로, 해당 작업은 스코프 단위로 수행합니다.wepapis 는 비동기..