[Javascript] 5. Strict, 객체, 내장형 객체

1. Strict 모드

  • Javascript에서 안전성효율성 면에서 사용하지 말아야 할 구문을 발견하여 오류로 통지해주는 구조이다.
  • Internet Explorer에서는 Version 10 이상에서만 지원한다.
'use strict'; //"usestrict"; 도 가능하다
// 임의의 코드

function test() {
'use strict';
  // 함수의 본체
}

2. 외부 스크립트를 비동기방식으로 로드하기-async/defer

  • 일반 브라우저에서는 스크립트의 읽기 및 실행이 완료될 때까지 뒤에 있는 컨텐츠를 렌더링하지 않는다.
    즉, 웹 페이지의 앞 부분에 사이즈가 큰 스크립트가 있다면 로딩 시간이 길어질 수 있다.
  • 이러한 현상을 피하기 위해 </body> 태그 바로 앞에 <script> 요소를 배치하는 방법도 있지만, HTML5에 새롭게 추가된 async 속성을 사용해도 된다.
<script src="lib.js" async></script>
  • 위의 코드와 같이 src 속성에 지정된 스크립트를 비동기 방식으로 로드하는 것이 가능하다.
    즉, 로드가 완료되는 대로 순차적으로 실행한다.
  • 하지만, async 속성이 있는 <script> 요소는 실행 순서가 보장되지 않는다.
<script src="lib.js" async></script>
<script src="app.js" async></script>
  • 위의 경우 어느 쪽이 먼저 실행되는지 알 수 없다. 이를 해결하기 위해 .js 파일을 하나로 통합하거나, async 속성 대신 defer 속성을 지정하면 된다.
  • defer 속성은 문서 해석이 끝날 때까지 스크립트 실행을 지연시키는 것이다.

3. 객체

  • Javascript객체라는 이름로 접근 가능한 배열 - 연상 배열(해시)라고 정의했었다.
  • 객체란 단순한 집합이 아니고, 객체 자체가 하나의 개체이며 내부에 포함된 요소는 그 개체의 특성이나 동작을 나타내기 위해서 존재한다.
    * 또한, 객체를 중심으로 코드를 작성하는 방법을 객체지향이라고 한다.

3.1 new 연산자

  • 데이터가 서로 충돌하여 애플리케이션이 올바르게 동작하지 못하는 것을 방지하기 위해 '원본을 복제한 복사본'을 조작해야 한다.
  • 객체의 복제를 만드는 것을 인스턴스화, 인스턴스화에 의해 만들어진 복제본을 인스턴스라고 한다.
var 변수명 = new 객체명([인수,...])
  • 객체에는 객체를 초기화하기 위해 객체와 동일한 이름의 메소드가 준비되어 있는데, 초기화 메소드를 생성자(constructor)라고 한다.
  • 인스턴스가 보관된 변수는 인스턴스 변수 또는 객체 변수라고 부르며, 프로퍼티/메소드를 호출하려면 닷(.) 연산자를 사용한다.
변수명.프로퍼티명 [= 설정값];
변수명.메소드명([인수 [,...]]);

3.2 내장형 객체

  • Javascript에는 많은 객체가 있는데, 가장 기본적인 것은 내장형 객체(Built-in Object)이다.
참조변수(인스턴스 이름)= new 생성함수()

var bus = new Object();
document.write("bus색상 : "+this.color,"<br>");
//this는 내장 객체 bus를 의미한다.
  • 날짜 정보 객체
var date = new Date();

  • 수학 관련 객체

  • 배열 객체

  • 문자열 객체
var str = new String(문자열);


이외에도 많은 내장형 객체가 있는데 꾸준히 반복하면서 살펴봐야겠다..

end

좋은 웹페이지 즐겨찾기