본문 바로가기

좋아하는 것_매직IT/12.자바스크립트

0.웹프로그래밍, Javascript, 자바스크립트(Javascript) 에 대해서 소개해 볼께요...^^

반응형

의문을 한번 품어보자, 자바스크립트(Javascript)를 왜 공부해야 될까?

  • 웹 페이지를 만들때는 생각해 보자.
    • 첫째, HTML 로 내용을 만들고
    • 둘째, CSS로 웹페이지의 스타일을 정의해서 멋진 웹페이지를 만든다.
      • 여기서 의문이 2가지 생긴다.
        • 우리가 만든 웹페이지는 왜 항상 똑같은 내용만 보여줄 수 밖에는 없는가?
        • 내가 이제껏 본 웹페이지는 내용도 변경되는데, 내가 만든 웹페이지는 내용이 절대 변경되지 않을까?
      • 해당 의문에 정답은 바로 이제 설명하려고 하는 자바스크립트(Javascript) 에 정답이 있다.
      • 그럼 본격적으로 자바스크립트에 대해서 아래에서 알아보자.^^

자바스크립트를 공부하는이유?

  • 사용자 / 웹페이지간의 상호작용이 이루어지는 동적인 웹페이지를 작성하기 위해서..
  • 즉, 동적인 웹페이지를 작성하려면 반드시 프로그래밍 언어를 사용해야함.
    • 동적인 웹페이지를 작성하기 위해 가장 많이 사용하는 언어가 자바스크립트임.
  • 자바스크립트는 웹의 표준 프로그래밍 언어임.
    • 즉, 웹브라우저는 자바스크립트를 지원함.
      • 그리고, HTML5의 공식적인 스크립트 언어가 됨.

그럼, 여기서 잠깐, 웹개발자가 필수적으로 학습해야 할 3가지는 무엇일까?

  • 위에서 잠시 언급한거와 같이...
    • 첫째, HTML
      • 웹페이지의  내용(content)를 정의함.
    • 둘째, CSS
      • 웹페이지의 스타일(style)을 지정함.
    • 셋째, Javascript
      • 웹페이지의 동작(action)를 지정함.
      • 즉, 자바스크립트는 웹페이지에 생명력(?)을 불어놓어서 역동적인 웹페이지를 만들 수 있게 함.

그럼, 간단히 자바스크립트의 역사에 대해서 알아보자.

  • 넷스케이프의 브렌든 아이크(Brendan Eich)가 개발함.
    • 처음에는 라이브스크립트(LiveScript) 라는 이름으로 지어짐.
    • 1995년 넷스케이프(Netscape)는 자사의 브라우저 임베디드형 스크립트언어의 새로운 브랜드를 만들기 위해서 썬마이크로시스템즈로부터 "자바(Java)" 에서 변형된 이름에 대한 라이센스를 취득함.
      • 이로써 가끔 Java 언어 / Javascript 언어에 대한 오해가 생기게 됨.
        • 학부때 나역시도, Java 와 Javascript에 대해서 혼동을 많이 하였음.
        • 다시말하면, Java 와 Javascript는 유사한 점도 많지만 다른점도 아주많음.
    • 암튼, 최종적으로는 자바스크립트가 됨.
  • 자바스크립트는웹 사이트에서 각종 액션을 처리하는데 사용됨.
    • 그리고, 웹 브라우저의 내장 객체에도 접근할 수 있음.
  • 자바스크립트는 브라우저마다 지원되는 버전이 조금씩 다름.
    • 가장 널리 지원되는 버전은 1.5라고 함.
  • 자바스크립트의 표준
    • ECMA(European Computer Manufacturer's Association) 이 ECMAScript 라는 이름으로 표준을 제정함.
      • ECMA-262 라는 이름으로 언어스펙이 발표되고 있음.
    • 참고페이지

그럼 자바스크립트의 특징에 대해서 알아보자.

  • 자바스크립트의 특징
    • 인터프리터 언어
      • 컴파일 과정을 거치지 않고 바로 실행시킬 수 있는 언어임.
    • 동적 타이핑
      • 변수의 자료형을 선언하지 않고도 변수를 사용할 수 있는 특징.
        • 예를들면, 모든 변수는 var 키워드를 사용해서 선언할 수 있음.
      • 개인적으로, 제 주력언어는 C++ 인데, 자바스크립트를 배우면서, 이부분이 신세계이고, 아직도 놀라움 >_<;
        • 물론 이것은 자바스크립트의 장점이자 단점이 되기도 함.
          • 요즘, 대안으로 타입스크립트가 대두되고 있음. 
    • 구조적프로그래밍 지원
      • C언어의 구조적 프로그래밍을 지원함.
        • 다시말해서 조건문 / 반복문 등등을 완벽하게 지원함.
          • 조건문
            • if-else
          • 반복문
            • for / while 등등
    • 함수형 프로그래밍 지원
      • 자바스크립트에서 함수는 일급객체(first-class object) 임.
        • 즉, 함수는 그 자체로 객체라고 볼 수 있음.
          • 삼수는 속성 / .call()과 같은 메소드를 가짐.
    • 프로토 타입기반
      • 자바스크립트는 상속을 위해 클래스 개념 대신에 프로토타입을 사용함.
    • 객체 기반
      • 전적으로 객체 지향 언어임.
        • 자바스크립트의 객체는 연관 배열(associative arrays) 임.

그럼 간단히 자바스크립트의 프로그래밍 맛(?)을 한번 보자. ^^

  • 웹페이지 실행화면
  • 셜명
    • 동적인 웹페이지 작성
      • ​​​​​​​즉, 웹 페이지가 로드 될때 마다,
        • 즉 새로고침(F5)를 누를때마다 동적으로 현재 시간이 갱신되어 짐을 확인할 수 있음.
    • 자바스크립트는 script  키워드 사이에 기술됨

  • HTML 문서의 head / body 섹션 안에 위치가능함.

결론

  • 자바스크립트는 사용자 / 웹페이지간의 상호작용이 이루어지는 동적인 웹페이지를 작성할 수 있게 도와준다.
  • 자바스크립트와 자바는 유사한점도 있지만, 다른 언어이다. 
    • 혼동하지 말자.
  • 넷스케이프의 브렌든 아이크(Brendan Eich)가 개발함
    • 최초는 Livescript 였지만, 추후에 Javascript 가 됨.
  • 오늘도 자바스크립트에 대한 역사와 특징에 대한 마술(?) 한가지 획득완료! 감사합니다. ^^

  • 오늘의 명언 한마디
    • 당신의 타임라인을 이해하면, 최초의 증상이 시간 경과에 따라 어떻게 진행되었는지를 확인하여, 당신이 얼마나 오랫동안 자가면역 스펙트럼상에 있었는지를 파악할 수 있다.
    • 환자 입장에서는 이 모든일이 어떻게 연결되어있는지를 깨닫는 순간 입이 떡 벌어질 수 밖에 없다.
    • 현재 건강 문제가 이미 수년전에 시작되었으니 말이다.
      • 톰 오브라이언지음, "당신의 뇌를 고칠 수 있다." 중에서...

  • 오늘의 영어 한마디
    • I was 25 when war broke out.
      • 나는 25세였다. / 전쟁이 일어 났을 때
    • 설명
      • 평화가 지속되는 상태로 부터 분리되면, 전쟁이 일어남.
      • 즉, 지속되던 상황에서 분리되면 "break" 의 의미가 됨.
      • 또, 상자 안에 있던 물건을 밖으로(out) 꺼내면, 그 물건은 눈에 띄게 됨.
        • 즉, 보이지 않았던 물건이 눈앞에 나타나게됨.
        • 이처럼, 어떤 사건이 눈앞으로 나타나면 "out" 의 의미가 됨.
      • "break out" 은 과거로부터 지속되던 평화상태가 깨지고(break), 어떤 사건이 우리 눈앞에(out) 나타나게 되는 의미임.

  • 오늘의 민법 한마디(for real estate)
    • 제1편총칙 / 제4장 물건
      • 제98조(물건의 정의)
        • 본법에서 물건이라 함은 유체물 및 전기 기타 관리할 수 있는 자연력을 말한다.
728x90
300x250