서론
또 다시 짧다면 짧고 길다면 길다고 할 수 있는 한 주가 지났으므로 회고록을 남기고자 한다. 2주차에는 알고리즘을 위주로 진행된 주차라서 약간의 알고리즘 이야기와 ES 문법에 대하여 진행을 해보고자한다.
본론
[before]
문자열과 문자열 또는 변수와 연결하려면 병합 연산자(+)를 사용
var str1 = "hello";
var str2 = "react";
var combined = str1 + ' ' + str2;
>>> hello react
[after]
백틱(\`)으로 문자열을 표현할 수 있으며 특수 기호 $를 사용해서 변수 또는 식 포함
const str1 = "hello";
const str2 = "react";
const combined = `${str1} ${str2};`
>>> hello react
[before]
배열의 일부 요소만 잘라내거나 연결하려면 배열 인덱스와 함께 배열 내장 함수들을 사용
var arr1 = ['SUN', 'MON'];
var arr2 = ['TUE', 'WED', 'THD'];
var combined = arr1.concat(arr2);
>>> ['SUN', 'MON', 'TUE', 'WED', 'THD']
[after]
전개 연산자(...)를 사용해 나열형 자료를 추출하거나 연결
const arr1 = ['SUN', 'MON'];
const arr2 = ['TUE', 'WED', 'THD'];
const combined = [...arr1, ...arr2];
>>> ['SUN', 'MON', 'TUE', 'WED', 'THD']
[before]
var로 변수 선언시 변수스코프가 호이스팅되어 무조건 Global variables가 된다고한다.
(함수 레벨 스코프)
var str = 'hi';
[after]
let, const로 변수 선언시 함수스코프 안에서만 유효한 local variables가 되거나
함수 밖에서 선언시 Global variables가 될 수 있다!
(블록 레벨 스코프)
let - 읽거나 수정 가능(가변 변수)
const - 읽기만 가능(불변 변수)
[before]
function 함수명() { content }; // 함수 선언식
var 함수명 = function() { content }; // 함수 표현식
function add(a, b) {
return a + b;
}
var add = function(a, b) { // 익명 함수
return a + b;
}
[after]
화살표 함수르 사용해 익명 함수를 선언하여 변수에 대입
let add = (a, b) => {
return a + b;
};
let add = (a, b) => a + b;
객체 확장
[before]
객체와 객체의 값을 선언하기 위해 키 이름과 값을 각각 할당
var x = 0;
var y = 0;
var coord = { x: x, y: y };
[after]
변수 선언 형식이 간편 (key와 value가 같은 문자면 하나만 기입하면됨)
const x = 0;
const y = 0;
let coord = { x, y };
구조 분해
[before]
일일이 변수를 생성하고 값을 할당
var list = [0, 1];
var item1 = list[0];
var item2 = list[1];
[after]
선언과 동시에 할당
const list = [0, 1];
const [item1, item2] = list;
이정도가 필자가 종종 써먹던 ES6문법들인데 인터넷에 찾아보면 더 많은 문법들이 있지만 일단은 사용한적도 없고 이해도 잘 안가니 내가 감당할 수 있는 문법들로 정리를 해보았다.
결론
이제 다시 한주가 시작되는데, 이제 남은건 주특기 기초1주, 심화1주, 숙련1주 그리고 미니프로젝트1주, 클론코딩1주, 실전프로젝트6주, 지원하기1주가 남았다. 하나씩 차근히 해나가면 충분히 할 수 있을거같다!