Koans : 불교에서 유래된 단어로, 결론을 내리기 전에 이게 왜 맞는지 깊게 고민한다는 의미
이틀 동안 진행한 JavaScript Koans 페어 프로그램이 끝났다.
지금까지 진행했던 과제들과는 사뭇 다른 내용이어서 처음에는 헤맸었다 ㅋㅋㅋㅋ 🤣 이게 뭔말이여
expect 함수를 사용하여 적절한 테스트 코드를 작성하는 과제였다. 실시간으로 틀린 부분과 정답을 확인 할 수있어서 난이도가 적당하게 느껴졌다.
물론 그 와중에도 어려운 문제는 있었지만...
expect(테스트하는값).기대하는조건
expect(isEven(3)).to.be.true //'isEven(3)'의 결과값은 참(true)이어야 한다'
expect(1 + 2).to.equal(3) //'sum(1, 2)의 결과값은 3과 같아야(equal) 한다'
이번 과제를 진행하며 처음 알게된 개념과 헷갈렸던 것들을 정리해보려고 한다!
let
: 변수에 재할당 가능const
: 변수 재선언, 변수 재할당 모두 불가능. 변수가 상수일때 사용.[참고]
https://poiemaweb.com/js-function
https://tecoble.techcourse.co.kr/post/2021-04-25-hoisting/
함수 안에 함수가 선언
된 어휘적 환경
의 조합const arr = ["peanut", "butter", "and", "jelly"];
expect(arr.slice(1)).to.deep.equal(["butter", "and", "jelly"]);
expect(arr.slice(2, 2)).to.deep.equal([]);
expect(arr.slice(3, 0)).to.deep.equal([]);
expect(arr.slice(3, 100)).to.deep.equal(["jelly"]);
expect(arr.slice(5, 1)).to.deep.equal([]);
// 아래의 코드는 arr 전체를 복사한다. arr.slice()와 동일
expect(arr.slice(0)).to.deep.equal(["peanut", "butter", "and", "jelly"]);
Object.keys()
를 사용하여 배열로 변환 후, length 메소드를 사용한다.[참고]
https://poiemaweb.com/js-this
Object.assign({}, obj)
--> 객체 복사 가능Object.assign(target, ...sources)
`target`
목표 객체. 출처 객체의 속성을 복사해 반영한 후 반환할 객체
`sources`
출처 객체. 목표 객체에 반영하고자 하는 속성들을 갖고 있는 객체들
[참고]
https://velog.io/@th0566/Javascript-얕은-복사-깊은-복사
https://velog.io/@recordboy/JavaScript-얕은-복사Shallow-Copy와-깊은-복사Deep-Copy