1
00:00:01,380 --> 00:00:11,580
이전 비디오에서 우리는 키워드가 선언 된 객체 안에 있지 않을 때 값이 전역 객체라는 것을 알게되었습니다.

2
00:00:11,820 --> 00:00:18,180
이전 비디오에서 여전히 혼란 스러울 때를 대비하여 선언 된 객체가 의미하는 바를 신속하게 보여줍니다.

3
00:00:18,180 --> 00:00:21,250
여기에있는 자료가 상당히 도전적이라는 것을 기억하십시오.

4
00:00:21,420 --> 00:00:28,410
따라서이 비디오를 몇 번보고 코드 예제를 입력하여 지식을 강화하십시오.

5
00:00:28,470 --> 00:00:31,310
데이터라는 빈 객체를 만들 예정입니다.

6
00:00:31,440 --> 00:00:38,650
내가 방금 한 것은 선언 할 때까지 데이터 객체가 존재하지 않는 객체로 선언 된 것입니다.

7
00:00:38,670 --> 00:00:46,610
이제 instructor라는 객체에 속성을 연결하고 LTE와 동일한 값을 설정합니다.

8
00:00:46,620 --> 00:00:55,150
이제 선언 한 데이터 객체에는 내부에 elhi 값이있는 키가 있습니다.

9
00:00:55,230 --> 00:00:59,200
이것은 선언 된 객체의 내부에서 말할 때 의미하는 것입니다.

10
00:00:59,520 --> 00:01:01,750
그래도 여전히 혼란 스럽다면 괜찮아.

11
00:01:01,800 --> 00:01:08,820
두 번째 규칙을 검사하여 키워드를 객체 내부에서 보면 훨씬 더 의미가 있습니다.

12
00:01:08,820 --> 00:01:10,780
이제 첫 번째 규칙을 마무리하겠습니다.

13
00:01:11,010 --> 00:01:18,290
여기에서 우리가 핵심 단어를이 함수의 내부에 넣을 때 볼 수 있듯이 그 값은 여전히 ​​전역 객체입니다.

14
00:01:18,600 --> 00:01:28,590
this 키워드가 선언 된 객체 안에 있지만 함수의 내부에 있지 않으면 전역 규칙이 적용된다는 것을 기억하십시오.

15
00:01:28,950 --> 00:01:36,270
그래서 우리가이 함수를 호출했을 때 반환되는 값은 윈도우 객체입니다.

16
00:01:36,270 --> 00:01:38,340
이제 마지막 예제를 살펴 보겠습니다.

17
00:01:38,640 --> 00:01:46,060
값이 전역 객체 인 경우 키워드에 속성을 첨부하면 어떻게됩니까?

18
00:01:46,110 --> 00:01:52,640
그리고 내가 전역 객체라고 말할 때 다른 자바 스크립트 환경에서 윈도우 객체를 말하는 것을 기억하십시오.

19
00:01:52,680 --> 00:01:54,410
이 값은 변경됩니다.

20
00:01:54,540 --> 00:01:59,730
그러나 우리가 브라우저에 있기 때문에 전역 객체는 윈도우 객체입니다.

21
00:01:59,730 --> 00:02:05,340
이제이 함수의 변수에서이 함수의 변수를 살펴 보겠습니다.

22
00:02:05,340 --> 00:02:12,100
Person이라는 이름의 키워드에 속성을 연결하고 Ellie와 동일하게 설정합니다.

23
00:02:12,420 --> 00:02:23,340
핵심 단어는 전역 객체를 가리키는 것이므로 우리가 그것에 첨부하는 모든 것이 전역 변수가되어 함수 밖에서 사용할 수 있음을 의미합니다.

24
00:02:23,340 --> 00:02:28,930
이것은 우리가하고 싶어 할지도 모르는 것처럼 보일지 모르지만 이것은 실제로 매우 나쁜 습관입니다.

25
00:02:29,670 --> 00:02:34,680
변수와 범위가 자바 스크립트에서 어떻게 작동하는지 빠르게 재검토합시다.

26
00:02:34,680 --> 00:02:39,780
저는 dog라는 변수를 선언하고 Rusty와 같은 값을 말했습니다.

27
00:02:39,810 --> 00:02:50,610
그런 다음 나는 온화한 사람이라는 함수를 내부에서 VAR 키워드를 사용하는 person이라는 변수를 선언하고 코드와 동등하다고 선언 할 것입니다.

28
00:02:50,790 --> 00:03:00,430
이 변수를 함수 내부에 선언했기 때문에 값을 반환하지 않고 함수 외부에 액세스 할 필요가 없습니다.

29
00:03:00,450 --> 00:03:07,410
그러나 전 전역 변수에 내 개 변수를 선언했기 때문에 모든 곳에서 액세스 할 수 있습니다.

30
00:03:08,160 --> 00:03:16,020
이제 우리 함수의 VAR 키워드를 생략함으로써 person 변수에 접근 할 수 없다는 문제를 해결할 수 있습니다.

31
00:03:16,020 --> 00:03:18,900
그러나 이것은 매우 나쁜 관행입니다.

32
00:03:18,960 --> 00:03:34,370
일반적으로 코드의 맨 위에 여러 함수에서 사용하려는 모든 변수를 선언하고 값이없는 경우에도 함수의 나중에 해당 값을 할당하는 것이 가장 좋습니다.

33
00:03:34,380 --> 00:03:44,400
불행히도 이것은 전역 객체이기 때문에 함수 내부에서 실수로 전역 변수를 선언하기 쉽습니다.

34
00:03:44,400 --> 00:03:47,340
예를 보도록하겠습니다.

35
00:03:47,340 --> 00:03:57,060
나는 mistake라고 불리는 함수를 만들려고합니다. 이것은 안쪽에 문자열과 같은 나쁜 생각이라고 불리는 키워드의 속성을 설정합니다.

36
00:03:57,100 --> 00:03:58,480
오케이.

37
00:03:58,770 --> 00:04:05,400
이제는 그 함수를 호출 할 것이고 나쁜 아이디어 변수에 액세스 할 수 있음을 알 수 있습니다.

38
00:04:05,400 --> 00:04:09,390
우연히 방금 전역 변수를 만들었습니다.

39
00:04:09,390 --> 00:04:16,440
고맙게도 예 5에서는 Javascript의 이전 버전 인 엄격 모드 (strict mode)라는 것이 추가되었습니다.

40
00:04:16,440 --> 00:04:21,870
Javascript 개발자는 스트릭 트 모드가 활성화되었을 때 더 잘 이해합니다.

41
00:04:21,960 --> 00:04:26,460
엄격한 사용법을 큰 따옴표로 묶어 추가하면됩니다.

42
00:04:26,670 --> 00:04:31,760
함수 내부가 정의되지 않은 경우 this 키워드의 값입니다.

43
00:04:31,800 --> 00:04:34,530
세계적인 대상이 아닙니다.

44
00:04:34,530 --> 00:04:38,870
즉, 속성을 연결하려고하면 형식 오류가 발생합니다.

45
00:04:38,940 --> 00:04:44,270
정의되지 않은 속성을 추가 할 수 없으므로이 오류가 꽤 많이 보였을 것입니다.

46
00:04:44,280 --> 00:04:51,490
이로 인해 우연히 전역 변수가 작성되는 것을 방지하고 자바 스크립트 우수 사례를 사용할 수 있습니다.

47
00:04:52,140 --> 00:05:00,860
이 비디오에서 우리는 키워드를 결정하기위한 첫 번째 규칙을 검토하고 실수로 함수 내에서 전역 변수를 만들 수있는 방법을 살펴 보았습니다.

48
00:05:00,870 --> 00:05:06,410
우리는 또한 엄격한 모드가 다음 비디오에서이 실수를 저지르는 것을 막을 수있는 방법을 보았습니다.
