본문 바로가기
HTML

자바스크립트의 함수와 객체

2021. 1. 24. 13:11

자바스크립트에서 사용하는 내장 함수, 정의 함수, 변수와 객체에 대한 정보입니다. 다른 프로그래밍 언어들과 함수가 비슷하고, 객체 기반의 언어이기 때문에 객체에 대한 정의가 필요합니다. 

 

 

 

자바스크립트의 함수와 객체

일반적으로 프로그래밍에서 함수란, 일련의 작업을 수행할 수 있도록 작성된 독립적인 프로그램이라고 볼 수 있습니다. 짜임새 있고 규격화되어있는 서브 프로그램으로도 이야기할 수 있습니다. 보통 함수는 function( ) 형식으로 뒤에 괄호가 붙게 됩니다. 괄호에 들어가는 인수 및 매개변수는 함수로 전달되는 정보입니다. 함수를 통해 보다 간편하게 작업을 수행할 수 있게끔 도움을 받을 수 있게 됩니다. 오류가 발생하더라도 나름 쉽게 찾아낼 수 있고, 변경할 때 수월한 편에 속합니다. 

 

자바스크립트에서 사용되는 함수들은 내장 함수와 정의 함수로 구분됩니다. 내장 함수는 자바스크립트에 정의가 되어있기 때문에 내장되어 있다는 의미를 내포하고 있습니다. 정의 함수는 이용자가 필요한 함수가 있을 때 정의해서 사용할 수 있도록 하는 의미를 나타냅니다. 

 

자바스크립트 내장 함수

위에서 설명한 자바스크립트의 내장 함수는 이미 기능을 정의해두어서 기본적으로 제공하고 있는 함수입니다. 내장 함수에는 eval(), parseInt(), parseFloat(), isFinite(), escape(), unescape(), isNaN() 등입니다. 

  • eval() 함수는 인수로 전달받은 문자열을 수식으로 계산해줄 수 있는 함수입니다. 
  • parseInt() 함수는 인수로 전달받은 문자열을 정수로 변경해주는 함수입니다. 이때 정수는 10진수로 변환이 가능하나, 8진수와 16진수로도 변환할 수 있습니다. 
  • parseFloat() 함수는 인수로 전달받은 문자열을 부동소수점 수로 바꾸어 주는 함수입니다.
  • isNaN() 함수는 입력한 값이 숫자가 맞는지 아닌지를 판별할 수 있는 함수입니다. 
  • isFinite() 함수는 입력한 값이 양의 무한대, 음의 무한대일 경우 false값을 반환해주는 함수입니다. 
  • escape() 함수는 ISO Latin-1 문자 세트를 %16진수의 ASCII 코드값으로 변경해주는 함수입니다.
  • unescape() 함수는 %16진수의 ASCII코드를 ISO Latin-1 문자 세트로 변경해주는 함수입니다. escape함수와 반대되는 함수라고 볼 수 있습니다. 

ASCII코드는 아스키코드라고 합니다. 미국표준협회에 의해 미국의 표준 부호로 결정되었고, 국제적으로 사용하고 있으며, 컴퓨터에서 사용하는 문자의 표현방식입니다. 아스키코드는 128개의 가능한 문자 조합을 제공하는 7비트를 부호로 사용하고, 처음 32개의 부호는 인쇄와 전송 제어용으로 사용됩니다. 일반적으로 컴퓨터에서는 데이터를 8비트로 처리합니다. 아스키코드 또한 128개의 문자부호가 7비트로 표현되고, 나머지 1비트는 패리티 비트 또는 특정 문자로 구성해서 총 8비트로 되어있습니다. 

 

 

 

자바스크립트 정의 함수

자바스크립트에서 내장 함수가 아닌, 내가 직접 함수를 정의해서 사용할 수도 있습니다. 정의 함수를 이용할 때는 function으로 함수를 만들 수 있습니다. 정의 함수는 기본적으로 함수와 이름을 적고 이름 뒤에 괄호를 작성합니다. 그리고 괄호에 함수에 실행될 인수들을 적어줍니다. 이후 중괄호에 실행을 원하는 코드를 입력해주면 됩니다. 

<HTML>
  <head>
    <script language="JavaScript">
     function Name ( 인수, 인수, 인수,... ) {
     원하는 코드 작성
     }
    </script>
  </head>
  <body>
   <script>
   Name("인수")
   </script>
  </body>
</HTML>

함수를 정의할 때 보통 HEAD태그 또는 BODY태그에서 사용됩니다. 내용이 출력되기 전에 미리 정의를 해두고 실행하는 것이 보편적인 방법입니다. 그 이유는 정의되지 않은 함수가 먼저 등장할 경우 발생할 수 있는 오류의 가능성을 줄여줄 수 있기 때문입니다. 

 

그리고 보통 함수를 정의하다 보면 변수를 사용할 때가 발생합니다. 자바스크립트에서 변수는 사용범위에 따라서 전역 변수와 지역변수가 있습니다. 전역 변수는 global variable로 프로그램 안에서 언제든지 사용이 가능합니다. 메모리에 저장되어 있고, 사용하려면 number=10으로 할 수 있습니다. 반면 지역변수는 local variable로 표현되고, 프로그램 안에서 일부 정해진 특정 함수에서 사용할 수 있습니다. 스택에 저장하고, 사용하려면 var num=10으로 사용합니다. 

 

변수를 선언하게 되면 그 값은 컴퓨터 내부 메모리에 저장이 됩니다. 각 전역 변수와 지역변수가 다른 곳에 저장이 되는데, 지역변수는 임시로 이용하는 만큼 메모리의 스택에 잠시 저장되다가 곧 사라지게 되겠습니다. 그렇게 또 다른 지역변수가 생기면 다시 스택에 저장됩니다. 정말 잠깐 있다가 사라지는 보관소의 역할을 한다고 볼 수 있습니다. 반면 전역 변수는 언제든 사용할 수 있도록 계속 유지가 된 이후, 사라지게 됩니다. 

 

자바스크립트의 객체

객체라는 것은 행위가 미치는 대상, 작용의 대상이 되는 것을 의미합니다. 자바스크립트는 객체 기반형 프로그래밍 언어로 일부 제한적인 특성을 보여주고 있습니다. 객체지향 언어들은 보편적으로 상속과 다형성 등을 지원하지만, 자바스크립트에서는 객체 상속 등으로 새로운 객체를 생성할 수는 없습니다. 기본적으로 정의되어 있는 내장 객체를 통해서 객체를 생성해서 이용할 수는 있습니다.

 

객체는 특성에 따라 속성과 메서드로 구분할 수 있습니다. 정적인 특성을 보여줄 경우 속성 property. 동적인 특성을 보여줄 경우 메서드 method. 속성은 정보의 상태를 나타내는 변수, 메서드는 속성과 정보를 다룰 수 있는 함수를 의미합니다. 

 

위에서 함수도 내장 함수와 정의 함수가 있었듯, 객체에도 내장 객체와 정의 객체로 구분할 수 있습니다. 자바스크립트에서 사용이 가능한 내장 객체는 브라우저 내장 객체와 자바스크립트 내장 객체가 있습니다. 사용자 정의 객체를 만들기 위해서는 객체를 사용할 사용자 정의 함수를 만들고 나서 new예약어를 통해 객체의 사본을 생성합니다. 객체를 생성하기 위한 사용자 정의 함수에서는 객체의 속성과 메서드를 정의할 수 있습니다. 

 

이상 자바스크립트의 함수와 객체에 관련된 정보를 살펴보았습니다. 

 

'HTML' 카테고리의 다른 글

자바스크립트 제어문 반복문  (0) 2021.01.23
자바스크립트 데이터형 연산자  (0) 2021.01.22
정보보호의 역사  (0) 2021.01.21
CSS 스타일시트 배경 글꼴 정렬방법  (0) 2021.01.20
CSS 스타일시트 기초  (0) 2021.01.20

댓글