💡 자바스크립트에서 함수란?
- 함수를 우선 어떤 목적을 가진 작업들을 수행하는 코드들이 모인 블럭으로 이해하면 된다.
- 함수를 우선 지시사항들의 묶음(과정)으로 이해하면 된다.
- 함수는 재사용 가능한 영역을 정의하고, 정보영역을 캡슐화하는데 사용되는 구문이다. (여러번 호출 가능)
- 일반적으로 (입력 – > 함수 – > return – > 출력) 형태를 갖는다.
- 함수 선언을 위해서는 Keyword, name, paramenter, body 필요하다.
// Keyword -> function
// Name -> hello
// Paramenter -> ()
// Body -> {}
function hello() {
}
- 함수는 function 키워드로 시작하고, 실제로는 객체이다.
- 함수는 정의/생성할 수 있으며, 출력할 수도 있다.
- 객체의 특성 덕분에 함수를 변수나 배열에 배정할 수 있다.
- 다른 함수를 호출할 때, 인자를 넘겨 줄 수 있다.
– 함수 호출
- 선언 (매개변수 parameter)
- 호출 (전달인자 argument)
- 선언적이고 명시적인 function 키워드 사용
- 함수를 객체 혹은 리터럴(함수식=함수 표현식)로 사용
1. 명시적 함수의 선언 – 함수 선언식
// 함수 선언식(선언문)이라고 한다.
function hello() {
return 'hllo!';
}
// 함수 호출
hello();
2. 함수를 객체 혹은 리터럴(함수식=함수 표현식)로 사용된다.
// 함수 리터럴(함수 표현식)이라고 한다.
const hello = function() {
return 'hllo!';
}
// 변수 hello는 함수 리터럴로 변수를 함수처럼 실행할 수 있다.
hello();
💡 자바스크립트에서 타입이란?
자바스크립트의 기본 타입은 크게 원시 타입과 객체 타입으로 구분할 수 있습니다.
원시 타입(primitive type)은 다음과 같습니다.
1. 숫자(number)
2. 문자열(string)
3. 불리언(boolean)
4. 심볼(symbol) : ECMAScript 6부터 제공됨
5. undefined
객체 타입(object type)은 다음과 같습니다.
6. 객체(object)
1. 숫자(number)
자바스크립트는 다른 언어와는 달리 정수와 실수를 따로 구분하지 않고, 모든 수를 실수 하나로만 표현
2. 문자열(string)
자바스크립트에서 문자열은 큰따옴표("")나 작은따옴표('')로 둘러싸인 문자의 집합을 의미합니다.
3. 불리언(boolean)
불리언 값은 참(true)과 거짓(false)을 표현합니다.
4. 심볼(symbol) : ECMAScript 6부터 제공됨
심볼은 유일하고 변경할 수 없는 타입으로, 객체의 프로퍼티를 위한 식별자로 사용할 수 있습니다.
5. undefined
자바스크립트에서 null이란 object 타입이며, 아직 '값'이 정해지지 않은 것을 의미합니다.
또한, undefined란 null과는 달리 '타입'이 정해지지 않은 것을 의미합니다.
따라서 자바스크립트에서 undefined는 초기화되지 않은 변수나 존재하지 않는 값에 접근할 때 반환됩니다.
6. 객체(object)
자바스크립트의 기본 타입은 객체(object)입니다.
객체(object)란 실생활에서 우리가 인식할 수 있는 사물로 이해할 수 있습니다.
객체는 여러 프로퍼티(property)나 메소드(method)를 같은 이름으로 묶어놓은 일종의 집합체입니다.
키워드
자바스크립트에서 특정한 목적을 위해 사용하는 단어이다.
역할을 하는 단어들이라고 생각하면 된다.
break
case
catch
continue
** default : 사용자가 특별히 명령을 내리지 않으면 시스템이 자동으로 적용하는 미리 정해진 값이나 조건.
** delete : 피연산자로 지정된 객체 프로퍼티, 배열원소, 변수의 삭제를 시도하는 단항연산자이다.
** do : while의 변형인 do~while 문을 의미한다. 내용을 먼저 실행한 후에 조건을 비교한다.
else
** finally : catch절 다음에 finally 블록이 이어지는데, 앞서 try 블록에서 일어난 일에 관계없이 항상 실행이 보장되어야 할 뒷정리용 코드가 포함된다.
for
function
if
in
** instanceof : A instanceof B의 형식으로 사용하며, A가 B의 인스턴스가 맞는지 판단한다.
new
return
switch
** this : 함수 내에서 함수 호출 맥락(context)를 의미한다. 함수를 어떻게 호출하냐에 따라서 대상이 달라진다.
throw
try
typeof
var
void
while
** with : 객체를 제어하는 명령어로, 특정 객체를 여러번 사용할 경우 생략할 수 있도록 해준다.
with(document){
write("document.write에서 document 생략")
}