이전 비디오에서 우리는 키워드가 선언 된 객체 안에 있지 않을 때 값이 전역 객체라는 것을 알게되었습니다.
이전 비디오에서 여전히 혼란 스러울 때를 대비하여 선언 된 객체가 의미하는 바를 신속하게 보여줍니다.
여기에있는 자료가 상당히 도전적이라는 것을 기억하십시오.
따라서이 비디오를 몇 번보고 코드 예제를 입력하여 지식을 강화하십시오.
데이터라는 빈 객체를 만들 예정입니다.
내가 방금 한 것은 선언 할 때까지 데이터 객체가 존재하지 않는 객체로 선언 된 것입니다.
이제 instructor라는 객체에 속성을 연결하고 LTE와 동일한 값을 설정합니다.
이제 선언 한 데이터 객체에는 내부에 elhi 값이있는 키가 있습니다.
이것은 선언 된 객체의 내부에서 말할 때 의미하는 것입니다.
그래도 여전히 혼란 스럽다면 괜찮아.
두 번째 규칙을 검사하여 키워드를 객체 내부에서 보면 훨씬 더 의미가 있습니다.
이제 첫 번째 규칙을 마무리하겠습니다.
여기에서 우리가 핵심 단어를이 함수의 내부에 넣을 때 볼 수 있듯이 그 값은 여전히 ​​전역 객체입니다.
this 키워드가 선언 된 객체 안에 있지만 함수의 내부에 있지 않으면 전역 규칙이 적용된다는 것을 기억하십시오.
그래서 우리가이 함수를 호출했을 때 반환되는 값은 윈도우 객체입니다.
이제 마지막 예제를 살펴 보겠습니다.
값이 전역 객체 인 경우 키워드에 속성을 첨부하면 어떻게됩니까?
그리고 내가 전역 객체라고 말할 때 다른 자바 스크립트 환경에서 윈도우 객체를 말하는 것을 기억하십시오.
이 값은 변경됩니다.
그러나 우리가 브라우저에 있기 때문에 전역 객체는 윈도우 객체입니다.
이제이 함수의 변수에서이 함수의 변수를 살펴 보겠습니다.
Person이라는 이름의 키워드에 속성을 연결하고 Ellie와 동일하게 설정합니다.
핵심 단어는 전역 객체를 가리키는 것이므로 우리가 그것에 첨부하는 모든 것이 전역 변수가되어 함수 밖에서 사용할 수 있음을 의미합니다.
이것은 우리가하고 싶어 할지도 모르는 것처럼 보일지 모르지만 이것은 실제로 매우 나쁜 습관입니다.
변수와 범위가 자바 스크립트에서 어떻게 작동하는지 빠르게 재검토합시다.
저는 dog라는 변수를 선언하고 Rusty와 같은 값을 말했습니다.
그런 다음 나는 온화한 사람이라는 함수를 내부에서 VAR 키워드를 사용하는 person이라는 변수를 선언하고 코드와 동등하다고 선언 할 것입니다.
이 변수를 함수 내부에 선언했기 때문에 값을 반환하지 않고 함수 외부에 액세스 할 필요가 없습니다.
그러나 전 전역 변수에 내 개 변수를 선언했기 때문에 모든 곳에서 액세스 할 수 있습니다.
이제 우리 함수의 VAR 키워드를 생략함으로써 person 변수에 접근 할 수 없다는 문제를 해결할 수 있습니다.
그러나 이것은 매우 나쁜 관행입니다.
일반적으로 코드의 맨 위에 여러 함수에서 사용하려는 모든 변수를 선언하고 값이없는 경우에도 함수의 나중에 해당 값을 할당하는 것이 가장 좋습니다.
불행히도 이것은 전역 객체이기 때문에 함수 내부에서 실수로 전역 변수를 선언하기 쉽습니다.
예를 보도록하겠습니다.
나는 mistake라고 불리는 함수를 만들려고합니다. 이것은 안쪽에 문자열과 같은 나쁜 생각이라고 불리는 키워드의 속성을 설정합니다.
오케이.
이제는 그 함수를 호출 할 것이고 나쁜 아이디어 변수에 액세스 할 수 있음을 알 수 있습니다.
우연히 방금 전역 변수를 만들었습니다.
고맙게도 예 5에서는 Javascript의 이전 버전 인 엄격 모드 (strict mode)라는 것이 추가되었습니다.
Javascript 개발자는 스트릭 트 모드가 활성화되었을 때 더 잘 이해합니다.
엄격한 사용법을 큰 따옴표로 묶어 추가하면됩니다.
함수 내부가 정의되지 않은 경우 this 키워드의 값입니다.
세계적인 대상이 아닙니다.
즉, 속성을 연결하려고하면 형식 오류가 발생합니다.
정의되지 않은 속성을 추가 할 수 없으므로이 오류가 꽤 많이 보였을 것입니다.
이로 인해 우연히 전역 변수가 작성되는 것을 방지하고 자바 스크립트 우수 사례를 사용할 수 있습니다.
이 비디오에서 우리는 키워드를 결정하기위한 첫 번째 규칙을 검토하고 실수로 함수 내에서 전역 변수를 만들 수있는 방법을 살펴 보았습니다.
우리는 또한 엄격한 모드가 다음 비디오에서이 실수를 저지르는 것을 막을 수있는 방법을 보았습니다.