저번주 금요일부터 월요일까지 수업 정규시간으로는 2일을 걸쳐 페어와 함께 koans 문제를 풀었다.
문제를 풀면 풀 수록 성취감이 있고 문제의 난이도도 적당해서 알아가는 재미가 있었다.
검색만 1시간 넘게 했던 부분들이 많았는데 페어분의 도움으로 문제를 잘 풀어나갔던것 같다.
✅ expect 함수
: 테스트 하는 값과 기대하는 조건(matcher)을 비교한다
expect(테스트하는값).(기대하는조건=expression 또는 value)
expect(A === B).to.be.true
expect(A + 1).to.equal(B)
expect(A[1]).to.deep.equal('young')
// to.deep.equal ---> 배열의 요소나 객체의 속성이 서로 같은지 확인하는 matcher
'==' loose equality: 동등 연산자는 예외 사항, 원치 않는 변수가 일어날 수 있는 환경이므로
'===' strict equality : 일치 연산자를 사용할 것
새롭게 배운점
✅ scope
- 호이스팅
JavaScript에서 호이스팅(hoisting)이란, 인터프리터가 변수와 함수의 메모리 공간을 선언 전에 미리 할당하는 것을 의미합니다.
var로 선언한 변수의 경우 호이스팅 시 undefined로 변수를 초기화합니다.
반면 let과 const로 선언한 변수의 경우 호이스팅 시 변수를 초기화하지 않습니다.
✅ SpreadSyntax
- Array.from()
반복 가능하거나 배열과 같은 객체에서 Array.from()얕은 복사된 새 인스턴스를 만듭니다
Array.isArray(argsArr)를 했을때 true가 나와 argsArr와 restParams의 값은 같다고 생각을 하였는데,
배열 값을 물어보는게 아니라, 참조형 주소값 비교를 물어보는 문제라 배열의 형태는 같지만,
서로 다른 메모리 주소를 가지고 있다는 점을 알게 되었다.
'코드스테이츠' 카테고리의 다른 글
[Figma] - Figma 개념 / Figma 컴포넌트 구현해보기! (0) | 2023.04.15 |
---|---|
[JavaScript] - 프로토타입 체인 (0) | 2023.03.16 |
[3주차] 💻🏃♂️ - 원시자료형과 참조자료형 (0) | 2023.03.05 |
[2주차] 💻🏃♂️ - Linux/Git 기초 (짝수생성기) (0) | 2023.02.24 |
[2주차] 💻🏃♂️ - 계산기 구현하기 (0) | 2023.02.23 |