아마도 JavaScript의 객체에 대해 들어본 적이 있을 것이며 언어를 이해하는 데 객체가 얼마나 중요한지 들어보셨을 것입니다.
객체는 모델 "키":"값"으로 인해 JS를 매우 읽기 쉽고 유용하게 만듭니다. 그러나 제가 눈에 띄게 하고 싶은 점은 "값" 섹션이 단순한 문자열뿐만 아니라 다른 개체, 즉 또 다른 개체 등을 허용한다는 것입니다. 예를 들면 다음과 같습니다.
const character = { name:"Arthur Morgan", age:24, face: { hairSize:5, eyesColor: "blue", } }
이 스니펫은 얼굴이 인물이자 사물임을 보여줍니다. 그렇게 하는 것은 전혀 문제가 되지 않으며 많은 복잡한 API가 그러한 데이터를 처리하고 중요한 경우 계속해서 그룹화합니다.
그러나 객체의 진정한 힘은 함수에 달려 있으며, 이 Leet 코드 문제는 이를 다루고 테스트 라이브러리가 내부적으로 어떻게 작동하는지에 대한 요지를 제공합니다. 기본적으로 값이 예상한 값과 같은지 여부를 확인하는 함수인 toBe() 및 notToBe()가 필요합니다. 그렇게 하기 위해, 우리는 해당 함수를 가진 객체를 반환할 수 있습니다. 그런데 화살표 기능을 사용하면 더 예쁘고 직접적으로 됩니다.
답은 이렇습니다.
function expect(val) { function toBe(anotherValue) { if (val === anotherValue) { return true; } throw Error("Not Equal"); } function notToBe(anotherValue) { if (val !== anotherValue) { return true; } throw Error("Equal"); } return { toBe: (anotherValue) => toBe(anotherValue), notToBe: (anotherValue) => notToBe(anotherValue), }; }
유명한 콘솔과 해당 기능 로그와 같은 다른 객체를 사용하여 실행 중인 것을 빠르게 확인할 수 있습니다.
console.log(expect(5).toBe(null)); // give us an error "Not Equal", because 5 is not null
객체를 반환한다는 사실은 expect()를 사용한 다음 바로 뒤에 .toBe()를 자유롭게 사용할 수 있다는 점에 유의하세요. 객체를 반환하고 함수인 toBe 속성에 즉시 액세스하기 때문입니다.
이 Leet 코드 문제는 객체와 함수가 어떻게 함께 작동하고 JavaScript로 멋진 것을 구축할 수 있는지 확인하는 훌륭한 방법입니다. 마음에 드셨으면 좋겠습니다 :)
위 내용은 자바스크립트를 배우면서 테스트 함수 작성하기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!