웹브라우저 JavaScript

전역객체 Window

Window 객체

Window 객체는 모든 객체가 소속된 객체이고, 전역객체이면서, 창이나 프레임을 의미한다. 

전역객체

Window 객체는 식별자 window를 통해서 얻을 수 있다. 또한 생략 가능하다. Window 객체의 메소드인 alert을 호출하는 방법은 아래와 같다.

<!DOCTYPE html>
<html>
<script>
    alert('Hello world');
	window.alert('Hello world');
</script>
<body>

</body>
</html>

아래는 전역변수 a에 접근하는 방법이다.  

<!DOCTYPE html>
<html>
<script>
    var a = 1;
	alert(a);
	alert(window.a);
</script>
<body>

</body>
</html>

객체를 만든다는 것은 결국 window 객체의 프로퍼티를 만드는 것과 같다.

<!DOCTYPE html>
<html>
<script>
    var a = {id:1};
	alert(a.id);
	alert(window.a.id);
</script>
<body>

</body>
</html>

예제를 통해서 알 수 있는 것은 전역변수와 함수가 사실은 window 객체의 프로퍼티와 메소드라는 것이다. 또한 모든 객체는 사실 window의 자식이라는 것도 알 수 있다. 이러한 특성을 ECMAScript에서는 Global 객체라고 부른다. ECMAScript의 Global 객체는 호스트 환경에 따라서 이름이 다르고 하는 역할이 조금씩 다르다. 웹브라우저 자바스크립트에서 Window 객체는 ECMAScript의 전역객체이면서 동시에 웹브라우저의 창이나 프레임을 제어하는 역할을 한다.

참조

댓글

댓글 본문
  1. 주황버섯
    23.02.18 수강완료
  2. 헤밍웨이
    220825 WB에서 window 객체는 어디에나 존재하겠네요
  3. 진진리
    0816
  4. 임앤강
    2022-02-06 수강.
  5. pmxsg
    2021.12.20
  6. 드림보이
    2021.12.15. 전역객체 Window 파트 수강완료
  7. 안젤라비
    21-11-26 (FRI)
  8. 경이
    211108 완료
    감사합니다
  9. Jeong Lily
    굳굳 완료
  10. labis98
    20210905 좋은 강의 감사합니다.
  11. gkalsdlf
    ㅇㄹ!
  12. 박병진
    감사합니다. 2020.12.02
  13. 현미쓰
    11/16 복습 ㅎ.ㅎ
  14. 11/12
  15. sacru2red
    늦었지만 다른 분들을 위해서..
    `const a = 1; window.a;`와 같은 구문이 왜 실행되지 않는지.
    https://poiemaweb.com......ope
    1.5파트에서 "보이지 않는 개념적인 블록 내에 존재하게 된다."
    대화보기
    • nurunzii
      완료
    • anne
      완료
    • 마준
      완료
    • 정승옥
      완료
    • 김진욱
      완료
    • 한강
      window 전역객체 잘 배웠습니다.
      전부 객체로 되어있네요.
      200624
    • 쑤우
      완료. 감사합니다.
    • Useok
    • 얼그레이
      0219 감사합니다~
    • ㅎㅅㅁ
      다시시작 0115
    • kyh174
      안녕하세요. 질문이 있습니다.

      전역변수 a에 접근하는 방법에서

      const a = 1;
      alert(window.a);

      혹은

      let a = 1;
      alert(window.a);

      라는 코드를 실행시에는

      undefined 라고 뜹니다.

      왜 자료형을 알 수 없는지 궁금합니다.
    • 2019-10-13 8:04pm 완료
    • 정홍
      완료
    • 미완성
      20190108
    • JuicyFresh
      확인
    • 궁금해요
      w
    • SlowStarter
      감사합니다!
    • 스페이스몽키
      전 강의에서 이해 안됐던게 이제 됐네요 감사합니다!
    • ㅁㄴㅇㄹ
      정말 좋은 강의였습니다. 객체지향의 개념이 너무 헷갈렸는데 이제서야 자바스크립트의 객체가 무슨 의미인지 이해가 갑니다.
    • An TaeHyeon
      18-01-23 수강완료!
      강의록 공유합니다.
      https://goo.gl/iAX9FM
    • 박인호
      12-26
      수강완료.
    • GoldPenguin
      감사합니다.
    • 개발자가 되고싶은 고등학생
      자식이라는 표현은 잘못됬다고 하셨는데, 글에는 자식이라고 표현되어있네요. 수정해주세요
    • Byungsoo Kim
      감사합니다.
    • 바람과 나무
      감사합니다.
    • 수복
      최상위 객체군요. Default 값이라고 생각하고 갑니다.
    • 수강생
      목소리가 너무 멋지세요!! 잘 들었습니다 ^^
    • Sangmook Kim
      170727 완료
    • 호호
      객체와 프로퍼티의 개념이 헷갈리는데요
      객체를 만든다는 것은 결국 window 객체의 프로퍼티를 만드는 것과 같다. 라고 했는데
      그럼 window객체에 소속된 모든 객체들은 객체이면서 프로퍼티가 되는건가요?
    • kiseok
      감사합니다.
    • crable
      감사합니다
    • nana
      감사합니다.
    • 전성욱
      기존의 프로그래머들에게 자식은 부모객체와 상속관계가 성립해야하기 때문에 일부러 고쳐 표현하신거군요
      수업 대상의 스펙트럼이 넓으니 가르치기도 쉽지 않으시겠어요
    • matheios
      감사합니다!
    • hwangcoding@naver.com
      클리어클리어
    버전 관리
    egoing
    현재 버전
    선택 버전
    graphittie 자세히 보기