Note 자바스크립트의 함수 선언문에 대하여
자바스크립트에서 함수를 선언하는 방법은 여러 가지다. 콜백함수처럼 바로 사용하는 함수는 익명함수로 작성할 수 있다.
function() { return 'howdy'}
즉시실행함수(IIFE)를 작성할 수도 있다.
(function() { return('howdy') })()
익명 함수 표현식을 참조하는 변수를 생성하면 다음과 같다.
let sayHelloInMandarin = function() { return 'n ho'}
다음은 호이스팅되는 기명 함수 표현식이다.
function sayHelloInTatar() { return 'sälam'}
호이스팅되는 기명 함수 표현식을 참조하는 변수를 생성하면 다음과 같다.
let sayHelloInSpanish = function digaHolaEnEspanol() { return 'hola'}
마지막으로 즉시 실행되는 기명 함수 표현식을 작성하면 다음과 같다.
(function sayHelloInTexan() { return('howdy') })()
호이스팅되는 기명 함수의 경우에는 화살표 함수를 사용하지 않는다.
살펴본 것처럼 AnalogDisplay와 DigitalDisplay 컴포넌트는 상태를 저장하지 않는다. 즉, 상태 객체가 없다. 함수 몸체를 제외하고는 메서드를 가지고 있지 않아서 일반적인 React 클래스 정의의 render()와 다른 모습이다. 애플리케이션의 모든 로직과 상태는 Clock 컴포넌트에 있다.