> For the complete documentation index, see [llms.txt](https://heunnajo.gitbook.io/zerocho-javascript/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://heunnajo.gitbook.io/zerocho-javascript/undefined-15.md).

# 렉시컬 스코프

코드가 적힌 순간 스코프가 정해진다. 이것을 정적 스코프(lexical scope)라고 한다. 함수의 실행순서에 따라 스코프가 바뀌면 동적 스코프라고 한다.

```javascript
var name = 'zero';
function log() {
    console.log(name);//nero
}
function wrapper() {
    name = 'nero'//전역변수 수정. nero.
    log();
}
wrapper();
```

```javascript
var name = 'zero';
function log() {
    console.log(name);//zero
}
function wrapper() {
    var name = 'nero'//전역변수 수정. nero.
    log();//console.log와 혼동주의!
}
wrapper();
```

비밀변수로 사용할 수 있다.

```javascript

function wrapper() {
    var password = '비밀번호(제로초바보)'//전역변수 수정. nero.
    log();//console.log와 혼동주의!
}
console.log(password);//변수가 없다고 나옴
```
