그간 대강 두리뭉실 써왔던 javascript를 다시 보고 있다. 재입문이 아니라 처음 배우는 느낌이다.
함수 선언 VS. 표현식
함수에는 두 가지 리터럴 형태가 있는데, 다른지는 몰랐었다.
[함수 선언-function declaration]
function add(num1, num2){
return num1 + num2;
}
[함수 표현식-function expression]
var add = function (num1, num2){
return num1 + num2;
}
함수 선언식을 사용하면 코드가 실행 될 때 컨텍스트(선언된 함수를 포함하고 있는 함수 스코프 또는 전역 스코프) 상단에 끌어올려진다고 한다. 즉, 함수를 호출하는 코드가 함수를 선언한 코드보다 앞에 있어도 에러가 발생하지 않는다는 뜻이다.(hoisting)
var result = add(5,5);
function add(num1, num2){
return num1 + num2;
}
함수 호이스팅(hoisting)은 함 수 이름을 먼저 처리하기 때문에 일어나는 현상으로 함수 선언에만 적용된다.
같은 자리에 함수 표현식으로 작성하면 에러가 난다.
정규식
숫자키 버튼 및 텍스트박스 직접 입력 등의 입력값에 대한 검증을 하기 위해 정규식 사용.
참조 : 정규식
strict mode
개발과정에서 발생될 수 있는 오류에 대해 더 엄격하게 두기.
계산기 프로그램 OOP 로 만들기
객체지향 언어 특징을 다시 정리하면
- 캡슐화(EnCapsulation)
- 집합(Aggregation)
- 상속(inheritance)
다형성
[참조]
[codeReview-Simple object-oriented calculator]
[OOP Calculator]
'프로그래밍 > javascript' 카테고리의 다른 글
Closure (0) | 2018.07.04 |
---|---|
[ECMAScrpt6] Arrow 함수 (0) | 2018.04.03 |