1. Matcher
- mocha, chai framework에는 아래의 예시 말고도 다양한 matcher가 있다.
expect( ).to.be.true;
expect( ).to.be.false;
expect( ).to.equal( ); // 두 값이 타입까지 같은 지 엄격하게 검사(strcit equality, ===)
2. JavaScript의 별난(quirky) 부분들
- https://github.com/denysdovhan/wtfjs
expect(1 + '1').to.equal('11'); // +뒤에 나온 '1'이 숫자로 적용되었다.
expect(123 - '1').to.equal(122); // -뒤에 나온 '1'은 문자열로 적용되었다.
expect(1 + true).to.equal(2); // +뒤에 나온 true가 1로 적용되었다.
expect('1' + true).to.equal('1true'); // + 앞에 문자열이 있었기에 뒤에 나온 true도 문자열로 적용되었다.
3. 선언키워드 - const
- 구글 자바스크립트 코딩 스타일 가이드
https://google.github.io/styleguide/jsguide.html#features-use-const-and-let
const로 선언된 변수에는 재할당이 금지된다.
const로 선언된 배열이나 객체의 경우, 속성을 추가하거나 삭제할 수는 있다.
4. Scope와 Closure
5. ArrowFunction(화살표함수)
const add = (x,y) => { return x+y } // fucntion 키워드를 생략하고 =>를 붙인다.
const subtract = (x,y) => x -y // return을 생략할 수 있다.
const multiply = (x,y) => (x * y) // 필요에 따라 소괄호를 붙일 수도 있다.
const divideBy10 = x => x / 10 // 파라미터가 하나일 경우 소괄호 생략도 가능하다.
const adder = x => { return y => { return x + y } }
const subtractor = x => y => { return x - y } // 화살표함수를 이용하여 클로저를 간단히 표현할 수 있다.
6. 원시자료형과 참조자료형
원시자료형
자바스크립트에서 원시자료형은 객체가 아니면서 method를 가지지 않는 데이터를 말한다.
string, number, bigint, boolean, undefined, symbol, (null)
원시자료형은 값 자체에 대한 변경이 불가능(immutable)하다.
원시자료형을 변수에 할당할 경우, 값 자체의 복사가 일어난다.
원시자료형 혹은 원지자료형의 데이터를 함수의 전달인자로 전달한 경우, 값 자체의 복사가 일어난다.
참조자료형
자바스크립트에서 원시자료형이 아닌 모든 것은 참조 자료형이다.
배열[ ], 객체{ }, 함수 function(){}
참조자료형은 값 자체에 대한 변경이 가능하다.
참조자료형의 데이터는 heap에 저장되고, 변수에 할당을 할 경우 변수에는 주소가 저장된다.
'Daily > Today I Learned' 카테고리의 다른 글
fe-sprint-mini-node-server (0) | 2023.04.04 |
---|---|
fe-sprint-statesairline-client (0) | 2023.04.03 |
fe-sprint-react-twittler-state-props-refernce 수도코드 작성해보기 (0) | 2023.03.28 |
객체 지향 프로그래밍(Object-Oriented Programming) (0) | 2023.03.15 |
local Git repository (0) | 2023.03.10 |
댓글