ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 문장
    Javascript 2020. 1. 2. 15:24

    function

    1
    2
    3
    function func_name (param1, param2, ...){
        statements
    }

    함수 이름은 문자열이나 표현식이 아닌 식별자이어야만 한다. 다른 문장 블록들과는 달리 중괄호가 반드시 필요하다. 일반적으로 함수 정의는 최상위 단계 코드에서 나타난다. 함수 정의를 다른 함수 정의 속에 중첩시킬 수 있다. 함수는 원칙적으로 문자이 아니다. 문장은 실행 시간에 실행되는 반면, 함수는 컴파일 단계에서 정의된다. parser가 함수 정의를 만나면 이 함수의 몸체를 이루는 문장들을 파싱하고 저장한다. 그리고 이 함수를 유지할 프로퍼티를 이 함수와 동일한 이름으로 정의한다. 

     

    return

    return은 오직 함수 몸체 내부에서만 나타날 수 있다. return 문이 실행되는 시점에서 함수의 실행은 종료된다. 또한, 그저 함수의 실행을 종료할 목적으로 '표현식' 없이 return 문만 쓸 수도 있다.

     

    throw

    throw는 어떤 예외 상황이나 에러를 알린다는 뜻이다. 한편 catch는 그것을 처리한다는 뜻이다. 예외를 잡아내는 데에는 try/catch/finally 문을 사용한다.

    throw문의 문법은 다음과 같다. 

    1
    throw 표현식;

    표현식의 결과값 타입은 무엇이든 될 수 있다. 하지만 대부분 그 타입은 Error 객체 또는 Error의 하위 클래스 중 하나의 인스턴스가 되곤 한다. 예외가 발생하면 인터프리터는 정상적인 프로그램 실행을 즉시 중단하고 가장 가까운 예외 처리기로 넘어간다. 예외를 발생시켰던 코드 블록이 catch 절과 연결되어 있지 않으면, 바로 상위 단계에 감싸고 있는 코드 블록에 예외 처리기가 연결되어 있는지 확인한다. 만약 try/catch/finally 문이 없는 함수 안에서 예외가 발생했다면 해당 함수를 호출했던 블록으로 그 예외가 전파되어 올라간다(call stack을 따라서). 

     

    try/catch/finally

    자바스크립트의 예외 처리 기법이다. try는 예외가 발생할지도 모를 코드 블록을 정의하는 역할을 한다. 그 다음에는 catch 절이 이어진다. try 내부에 예외가 발생할 경우 호출되는 문장 블록이다. finally는 try에 관계없이 무조건 실행될 코드가 위치한다. catch나 finally는 생략될 수 있지만, try는 무조건 이 중 하나 이상의 블록과 함께 사용해야한다.  

     

    with

    유효 범위 체인을 임시로 변경할 때 쓰인다. 문법은 다음과 같다.

    1
    2
    with (object)
        statements

    실제로 코딩에서 with 문을 사용하면 상당히 많은 양의 타이핑을 절약할 수 있다. 예를 들어, 클라이언트 측 자바스크립트에서는 매우 깊이 중첩된 객체 계증 구조를 다루는 일이 무척 흔하다. 일례로 HTML 폼에서 어떤 엘리먼트에 접근하려면 아래와 같은 표현식을 타이핑해야 한다.

    1
    frames[1].document.forms[0].address.value
     

    위의 폼을 여러 번 접근해야 한다면 with 문을 사용해 유효 범위 체인에 위의 폼을 추가하는 것이 편할 수 있다.

    1
    2
    3
    4
    5
    with(frames[1].document.forms[0]){
        name.value = " ";
        address.value = " ";
        email.value = " ";
    }

    그러나 with문은 조금 느리게 실행될 수 있고, with문 내부에서 함수 정의나 변수 초기화를 했다면 예기치 않는 작동을 불러일으킬 수 있다.

    1
    2
    3
    4
    var form = frames[1].document.forms[0];
    form.name.value = "";
    form.address.value = "";
    form.email.value = "";

    그러므로, 위와 같은 방식의 코드를 추천한다.

     

    출처

    자바_스크립트_완벽가이드

    'Javascript' 카테고리의 다른 글

    함수  (0) 2020.01.02
    객체와 배열  (0) 2020.01.02
    변수  (0) 2020.01.02
    표현식과 연산자  (0) 2019.12.22
    타입, 값, 변수  (0) 2019.12.20
Designed by Tistory.