2021-08-27 TIL

Facts (사실, 객관)

  • 벨로퍼드와 함께하는 모던자바스크립트 1장을 끝냈다.
  • week3 과제를 제출했다.

Feelings (느낌, 주관)

  • 과제를 어찌 어찌 해서 제출했다. 그렇게 잘 한 거 같지 않아 빨리 피드백을 받고 수정하고 싶다.
  • JS 공부를 하고 있다. JS로 코테 준비를 하려 했지만 아직 부족한 부분이 느껴져 공부를 하고 시작하려 한다.

Findings (배운 점)

toBe와 toEqual

  • 원시적인 타입(number, boolean, string, null)을 사용한다면 toBe와 toEqual 사이에 큰 차이점이 없다. 하지만 객체의 경우 다르다고 결과가 나온다.
var a = { bar: 'baz' },
    b = { foo: a },
    c = { foo: a };
b.foo.bar === c.foo.bar
true
b.foo.bar === a.bar
true
c.foo === b.foo
true
// 아래 경우는 false, 서로 다른 메모리에 위치하기 때문
b === c
false // toEqual은 재귀적으로 각 요소들을 확인

toStrictEqual

  • 이름 그래도 일반적인 Equal 보다는 훨씬 엄격한 Equal입니다. 기존과는 다르게 특정 요소에 undefined가 나오는 것을 허용하지 않습니다.
const hi = {
  add : (num1, num2) => num1 * num2,
  makePerson: (name, age) =>({name, age, married:undefined}) }
module.exports = hi;

const fn = require("./hi");

test('사람 만들기 ToEqual', () => { 
  expect(fn.makePerson("sanghoony", 12)).toEqual({
    name:"sanghoony",
    age:12}); }); 
test('사람만들기 ToStrictEqual ', () => {
  expect(fn.makePerson("sanghoony", 12)).toStrictEqual({
    name:"sanghoony",
    age:12
  });
});

Affirmation(자기 선언)

  • 꾸준히 계속해서 노력하자!!

좋은 웹페이지 즐겨찾기