목록2018/04 (45)
함께 성장하는 프로독학러
안녕하세요, 프로독학러 입니다. 오늘은 문자열 안에서 변수를 사용할 때 좀 더 직관적이고 편리한 방법인 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라는 변수에 ..
안녕하세요, 프로독학러 입니다. 이번 포스팅에서는 함수를 정의하는 단계에서 파라메터(*파라메터=매개변수)의 기본값을 설정하는 것에 대해서 알아보겠습니다. 먼저 표현식을 보겠습니다. function [name]([param1[ = defaultValue1 ][, ..., paramN[ = defaultValueN ]]]) { statements }함수의 이름을 정하는 name뒤에 오는 괄호안에 매개변수를 지정합니다. 이 때, 기본 값을 할당할 수 있습니다. 예제를 통해 이해해 봅시다. 123function add (a=0, b=10){ return a+b;}cs 위의 예제에서 add라는 함수를 정의할 때 파라메터를 적는 부분에 a=0, b=10이라고 정의 했습니다.값으로 들어오는 a와 b에 대해서 기본값을..
안녕하세요, 프로독학러 입니다. 이번 포스팅부터 React js 에 대해서 공부해 보도록 하겠습니다. React.js가 무엇인가 부터 알면 좋겠죠? React.js 에 대해서 간단하게 알아보도록 하겠습니다. React.js는 facebook 이 만든 자바스크립트 라이브러리입니다. 리액트는 프레임워크가 아닌 라이브러리이기 때문에 Router 와 같은 웹을 만드는 도구는 포함되어 있지 않습니다. 하지만 그렇기 때문에 가볍습니다. 또한 배우기도 그렇게 까다롭지 않습니다. 이런 React.js 에는 세 가지 큰 특징이 있습니다. 첫 번째는 Component 입니다. Component는 UI를 구성하는 개별적인 구성요소입니다. Component별로 나누어 개발을 하기 때문에 한 번 정의한 컴포넌트를 여러 위치에서..
안녕하세요, 프로독학러 입니다. 이번 포스팅에서는 직관적으로 이해하기 힘든 '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..
안녕하세요, 프로독학러 입니다. 제가 최근에 런닝할 때 무릎이 아프다고 했었는데요, 그 원인 중 하나는 아래의 이 사망하신 운동화 입니다... (고화의 명복을...) 메쉬 부분도 사망, 쿠션도 사망, 덩달아 저의 무릎도... 해서 쿠션이 좋은 런닝화를 검색해 봤습니다. 저의 선택 조건은 두 가지였습니다. 1. 쿠션이 빵빵해야 한다.2. 가성비가 좋아야 한다. 이 기준으로 찾아본 결과, 아식스 gt2000 5버전이 눈에 들어왔습니다. 가성비 좋은 가격에 준수한 쿠셔닝! 그리고 고대하던 택배가 오늘 도착했습니다! (예아! 소리벗고 팬티질러!!) 이미지 들어갑니다! 가장 설레는 순간이죠...오픈을 기다리는 너란 박스... 박스의 옆면에는 신발의 정보가 붙어있네요.아, 이 신발은 발 볼이 넓은 동양인들을 위해 ..
안녕하세요, 프로독학러입니다. 이번 포스팅에서는 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,..