SEB_FE_39 회고 14일차

최정석·2022년 5월 16일
0

🤩 JavaScript Koans 🤩

과제 이름부터 ‘아! 이제 그동안 배운 기초문법을 모두 테스트 하겠구나’ 라는 감이 왔다.

expect('테스트하는값').to.equal('기대하는값')

  • 위 테스트 코드는 ‘테스트하는값’이 ‘기대하는값’과 같은지 직접 확인한다.
  • .equal 은 두 값이 타입까지 엄격하게 같은지 검사

비교연산자 == 는 두 값의 일치 여부를 느슨하게 검사한다.

	let actualValue = 1 + 1;
    let expectedValue = '2';
    expect(actualValue == expectedValue).to.be.true;
  • expectedValue가 문자열 ‘2’ 라도 테스트가 통과된다.
  • 실행 중 타입 변환이 일어나기 때문이다.

letconst

  • let은 재할당 가능하다.
  • const는 재할당이 불가능하다.

closure

  • 함수를 리턴하는 함수
  • 내부함수의 스코프에서 바깥함수의 스코프에 선언된 변수에 접근할 수 있다.
let add = function(x) {
  	let sum = function(y) {
    return x + y;
  }
  return sum;
}

let foo = add(1);
foo(3); //add(1)(3) => 4
let total = foo(6); //add(1)(6) => 7

객체 Object

	const emptyObj = {};
    expect(typeof emptyObj === 'object').to.equal(true);
    expect(emptyObj.length).to.equal(undefined); 
  • typeof는 결과가 ‘ ’ 와 함께 출력된다.
  • 빈 객체의 길이는 undefined

shallow copydeep copy

  • shallow copy (얕은 복사)는 주소값의 복사를 나타낸다.
  • deep copy (깊은 복사)는 값 자체의 복사를 나타낸다.
  • 1차원 객체일때 spread 와 Object.assign() 를 이용하면 깊은 복사를 할 수 있다.
  • 단 2차원 객체 부터는 얕은 복사가 된다.

오늘의 감정

자바스크립트 코언스는 복습하기에 정말 좋은 자료인것 같다.
그동안 배운 문법을 총 정리할 수 있는 자료이다.
자바스크립트에서 헷갈리는 문제가 발생했을때 보면 참 좋을 것 같다.

오늘은 보이는 라디오 세션도 있었다.
코스를 진행하면서 고민이나 어려움을 사연으로 듣고 다같이 채팅으로 응원 해주는 시간이었다.

코드스테이츠의 자기주도적 교육 시스템도 아직까지 매우 만족이고
이런 프로그램이 중간중간에 있어 동기들의 고민도 들을 수 있고 나만 이렇게 힘든게 아니구나 라고 느끼며 동기부여 할 수 있다.

교육 엔지니어님들이 항상 하는 이야기가 있다.
'혼자 가면 빨리 가지만 같이 가면 멀리 갈 수 있다'
페어 프로그래밍과 이런 세션을 하다보면 정말 저 말이 맞는 말 같고 의지가 된다.
39기 동기들 모두와 코스를 완주해서 다들 원하는 곳으로 취업하길 바란다.

0개의 댓글