
즐거운 주말을 보낸 승현입니다~
오늘은 지난 금요일에 시작한 코안을 끝내는 날입니다!

그런데 코안이 무슨 뜻인지 모르세요?
Koans는 결론에 도달하기 전에 이것이 왜 올바른지 신중하게 생각하는 것을 의미하는 불교 용어입니다!
문제를 푸는 목적이 왜 그렇게 될 수 있는지 생각해보는 것이기 때문에 그렇게 불린 것 같아요!
Koans 할당은 VScode로 직접 코드를 수정하면 나옵니다.
아니면 바로 하는 방법을 보는 문제가 과제였습니다!
지금까지 배운 자바스크립트 기능 복습
그 외의 기능들에 대해 알아가는 유익한 시간이었습니다!!

행진 기능
expected( ).to.equal( ) : ( ) 안의 두 값이 유형(===)을 제외하고 정확히 같은지 테스트하는 함수.
cf) ‘==’를 사용하는 경우에는 종류가 달라도 같은 것으로 표현할 수 있다.
예)
expect(0 == false).to.be.true;
expect('' == false).to.be.true;
expect(() == false).to.be.true;
expect(!() == false).to.be.true;
expect(() == !()).to.be.true;
expect(() == '').to.be.true;
expect(() == 0).to.be.true;
expect(('') == '').to.be.true;
expect(('') == 0).to.be.true;
expect((0) == 0).to.be.true;
Expect().to.be.true(또는 false) : ( ) 안의 값이 참(또는 거짓)이기를 기대하는 함수.
그만큼. : 호출된 객체와 메소드 중에서 객체 자체를 호출
예) 다음과 같이 이름을 지정하면: in object = {name: seunghyeon} >> ‘object’에서 ‘name’이라는 속성 옆에 ‘승현’이라는 속성값을 얻게 됩니다.
cf) 화살표 함수에는 고유한 this가 없지만 이를 둘러싼 어휘 컨텍스트는 this입니다.
* 함수를 호출할 때 인수의 순서가 중요합니다(자바스크립트는 명명된 매개변수를 지원하지 않기 때문).
* 확산 구문으로 배열의 나머지 부분을 사용하는 경우 할당 전 왼쪽부터 … 나머지는 배열의 맨 오른쪽에 있어야 합니다.
배열 분해 – 변수로 지정으로 일부만 제거 가능
인수 – 모든 기능이 실행되면 자동으로 생성되는 ‘오브젝트’. – 기본 지표라고 볼 수 있습니다.
예)
function getAllParamsByArgumentsObj() {
return arguments;
}
const restParams = getAllParamsByRestParameter('first', 'second', 'third');
const argumentsObj = getAllParamsByArgumentsObj('first', 'second', 'third');
expect(restParams).to.deep.equal(('first', 'second', 'third'));
expect(Object.keys(argumentsObj)).to.deep.equal(('0', '1', '2'));
expect(Object.values(argumentsObj)).to.deep.equal(('first', 'second', 'third'));
// arguments와 rest parameter를 통해 배열로 된 전달인자(args)의 차이를 확인하시기 바랍니다.
expect(restParams === argumentsObj).to.deep.equal(false);
expect(typeof restParams).to.deep.equal(`object`);
expect(typeof argumentsObj).to.deep.equal(`object`);
expect(Array.isArray(restParams)).to.deep.equal(true);
expect(Array.isArray(argumentsObj)).to.deep.equal(false);
const argsArr = Array.from(argumentsObj);
expect(Array.isArray(argsArr)).to.deep.equal(true);
expect(argsArr).to.deep.equal(('first', 'second', 'third'));
expect(argsArr === restParams).to.deep.equal(false);
