TIL - 2022.11.09

흔한 감자·2022년 11월 9일
0

코드스테이츠

목록 보기
9/18

자바스크립트 TEST 방법

mocha 프레임워크

mocha는 Node.js 테스트 프레임워크이다.

equal

equal은 일치하는지 보는 함수입니다. === 연산자와 동일하게 평가됩니다.

describe("expect를 통해 동일한지 테스트", function () {
  it(".equal를 통해 일치여부 판단", function () {
    let value = 2.toString();
    expect(value).to.equal(2); //type이 다르므로 실패 
  });
  
  it(".equal를 통해 일치여부 판단", function () {
    let value = 2.toString();
    expect(value).to.equal("2"); //성공 
  });
}

deep.equal

참조가 아닌 배열 또는 객체의 요소를 비교할때 사용합니다.

  it("참조 자료형의 데이터 비교 테스트", function () {
    const student = ["jungsu", "hong", "kim"];
	//테스트 실패
    expect(student).to.equal(["jungsu", "hong", "kim"]);
  }

  it("참조 자료형의 데이터 비교 테스트", function () {
    const student = ["jungsu", "hong", "kim"];
	//테스트 성공
    expect(student).to.deep.equal(["jungsu", "hong", "kim"]);
  }

This 키워드

This 키워드의 경우 기본적으로 자기 자신을 나타내며, 상황에 따라 전역 객체인 Window를 가르키기도 합니다.

객체 내에서의 사용

const person = {
      name: "jungsu",
      age: 19,
      getInfo: function () {
        return [this.name, this.age];
      },
};

console.log(person.getInfo()); // ["jungsu", 19]

Rest Parameter VS arguments

Rest Parameterarguments 모두 모든 파라미터를 받아와 배열로 저장하는 것 처럼 보이지만, arguments배열 모양의 객체입니다.

    function getRestParameter(...args) {
      return args;
    }

    function getArguments() {
      return arguments;
    }

	const restParameter = getRestParameter("a", "b", "c");
	const arguments = getArguments("a", "b", "c");

	console.log(typeof restParameter); //object
	console.log(typeof arguments); //object

	console.log(Array.isArray(restParameter)); //true
	console.log(Array.isArray(arguments)); //false
profile
프론트엔드 개발자

0개의 댓글