2021.11.07~2021.11.13
이번 주는 내내 항해에서 선별한 프로그래머스 알고리즘 문제를 자바스크립트로 풀었다. 팀을 이루어 각자가 발표를 당담한 문제 풀이 해설을 하여 서로의 코드를 교환하였다. 토요일에는 알고리즘 테스트를 치렀다.
문제와 풀이는 TIL에 정리하였다.
1일-1
1일-2
3일 (마라톤 문제 끝)
4일 풀은 문제를 복습함
5일 (첼린지 문제 시작)
6일-1 (남은 문제)
6일-2 (시험 봄)
ECMA( European Computer Manufacturers Association ) Script의 줄임말.
자바스크립트의 표준 규격이다.
ES5는 2006년에 ES6은 2015년에 출시 되었다.
ES6에 추가된 문법을 정리해보자
이 둘은 기존의 함수 레벨 스코프를 가졌던 var(변수 중복 선언 가능)과 달리 블록 레벨 스코프를 가진다. const는 상수를 선언한다.
화살표 함수로 함수를 간결하게 나타낼 수 있다. this바인딩이 기존과 다르다.
//ES5
function sum (a,b){
return a+b
}
//ES6
const sum =(a,b) => a+b
함수의 매개변수에 초깃값을 함수 내부 로직없이 작성할 수 있다.
//ES5 multiply함수 호출시 b에 할당된 값이 없을 때 값을 함수 내부에서 설정함
function multiply(a, b){
b =(typeof b !=='undefind')? b: 1
return a*b
}
multiply(5)
//ES6
//할당된 b값이 없을 때 초기매개변수 사용
function multiply(a, b =1){
return a*b
}
multiply(5, 2) //10
multiply(5) //5
back tic ``을 사용해 문자열을 편히 삽입한다.
//ES5
var name ='Kim'
var address = 'Seoul'
var str = name + '은 ' + address +에 산다.
//ES6
let str =`${name}은 ${address}에 산다.`
자바스크립트의 비 동기 callback hell을 해결해주는 기법
본래 프로토타입 기반 언어이기 때문에 클래스를 안 썼으나 도입함
갈수록 문제 해결하는 속도가 늦어지고 모르는 필요 함수가 늘어났다. 특히, 정규식을 안 쓰기 힘든 문제들이 등장했는데 이건 매우 외계문자같이 생겨서 배우기 싫어졌다. 그래도 배우면 배운대로 편해지겠지...