2022
항해99 Week I Learn - week02 본문
항해를 시작하면서 느낀 점은 시간이 아주 빠르게 지나간다는 것이다. 2주 차에는 알고리즘 문제를 풀면서 컴퓨팅적 사고와 언어 기초 다지기를 했는데 모르는 문제를 붙잡고 있다 보면 금방 한 시간이 지나가곤 했다. 두 시간도 금방 지나가기도 했다. 문제를 풀고 같은 조원들과 풀이를 공유하면서 느꼈던 것은 다들 선호하는 함수나 코드가 있다는 것이다. 아주 당연한 소리긴 하지만. 아주 간단한 내장 함수임에도 나는 떠올리지 못하고 팀원들은 그것을 이용해 풀었을 때 느꼈다. 필요한 문법을 사용해서 쓰긴 하지만 순수하게 내가 떠올려서 쓰는 경우는 없었다. 보통 내가 익숙한 것들만 그렇게 이용했을 뿐. 그래서 기본적으로 많이 쓰이는 내장 함수라던가, 코드들을 좀 더 내 것으로 만들어야겠다고 생각했다. 그래야 짤 수 있는 코드가 다양해질 테니까. 프로그래머스의 연습 문제들을 풀면서 다른 사람들의 풀이도 볼 때마다 이걸 이런 식으로 짜는 사람도 있구나를 정말 많이 느낀다. 코드를 단순히 단축화 시키는 것이 무조건 효율이 좋게 나오는 건 아니지만 어쨌든 그렇게 짜는 사람은 분명히 기본에 충실해서도 짤 수 있는 사람일 테니까. 나는 보통 아주 기본에 충실하게 길이를 신경 쓰지 않고 짰다. 지금은 풀었다는 것에 의의를 둔 상태. 시간이 좀 더 지났을 때 블로그에 올려 둔 기존 답에 추가해서 다시 작성해 볼 예정이다.
금요일에는 또 새로운 챕터가 시작하는 날이다. 조도 바뀌었고. 이제는 주특기인 react를 공부하는 챕터다. 1 주차 강의에서는 기본적인 것들을 다루는데 그 중에 JavaScript 기초를 배우는 게 필요했다. 과거에 JavaScript 기본 문법은 거의 배우지 않고 쉽게 쓸 수 있는 JQuery 문법을 배웠기 때문이다. 그래서 처음에는 document.getElements~ 이런 식으로 쓰는 게 정말 눈에 안 들어왔다. 필요한 것을 검색할 때 볼 때 특히 그랬다. 하나하나 읽으면 어려운 것도 아닌데 단순히 길어서 그런지 코드가 눈에 안 들어왔다. 강의를 들으면서 기초를 다지는 중이다. 그러면서 JavaScript의 ES에 대해서 조금 더 정리해봤다.
ES란, ECMAScript의 약자를 뜻하면 JavaScript의 표준, 규격을 나타내는 용어.
뒤에 숫자는 버전을 뜯하며 ES5(2009년), ES(2015년) 출시.
ES6 이후에는 매년 업데이트가 이루어지고 있어 ES5와 ES6 사이에 많은 기능들이 추가됨.
let, const
기존 var은 함수 레벨의 스코프를 가지며 암묵적으로 재할당 가능.단점을 보완하기 위해 블록 레벨 스코프를 가진 let, const 추가.
arrow function
화살표 함수가 추가되어 함수를 간결하게 표현 가능.
가독성 및 유지 보수성 업그레이드. (기존 함수 this 바인딩과 다름.)
매개변수가 하나일 때 () 괄호 생략 가능, {} 소괄호 및 return도 생략 가능.
//ES5
function sum (a, b){
return a+b;
}
//ES6
const sum = (a,b) =>a+b;
Template literal
``(back tic)을 이용하여 간편하게 사용 가능.
${}중괄호 앞에 달러 표시를 통해 자바스크립트 표현식 삽입 가능.
공백 사용도 자유로워짐.
//ES5
var name = 'john'
var intro = 'my name is '+ name + '.'
//my name is john.
console.log("안녕!" + " " + "만나서" + " " + "반가워!")
//안녕! 만나서 반가워!
//ES6
const introduce `my name is ${name}.`
console.log(introduce)
//my name is john.
cosole.log(`안녕! 만나서 반가워!`)
//안녕! 만나서 반가워!
'WIL' 카테고리의 다른 글
항해99 Week I Learn - week06 (0) | 2022.06.20 |
---|---|
항해99 Week I Learn - week05 (0) | 2022.06.13 |
항해99 Week I Learn - week04 (0) | 2022.06.06 |
항해99 Week I Learn - week03 (0) | 2022.05.29 |
항해99 Week I Learn - week01 (0) | 2022.05.15 |