# local scope

Front-end 국비지원 #032일
JavaScript 1. function- input output > function name(parameter1,parameter2,... ){실행문(코드)} = 특정 기능을 수행하도록 작성된 코드 블록 ex)01 *밖으로 printHello(); 함수를 불러와야 실행이 된다. > 결과 값 : Hello ex)02 *파라미터로 메세지를 전달하면 전달된 메세지가 나옴 > 첫번째 결과 값 : hi sehyeon 두번째 결과 값 : hi joo 2. parameters 파라미터(매개변수) 함수를 정의할 때 나열된 변수를 뜻하며, 함수를 호출 할 때 input되는 데이터를 가르키기 위해 사용된다. 매개변수(parameter, 파라미터)는 변수의 특별한 한 종류로서 함수 등에 input으로 제공되는 데이터를 말한다. 매개변수는 하나의 속성값을 받을 수도 있고, object를 받을 수도 있다. 매개변수의 기본값도 미리 설정해 매개변
스코프 (Scope)
스코프(Scope) : 변수 접근 규칙에 따른 변수의 유효 범위 범위는 블록{} 또는 함수에 의해 나누어 지고, 그 범위를 스코프라고 부른다. 변수 접근 규칙 1. 안쪽 스코프에서 바깥쪽 스코프로는 접근할 수 있지만 반대는 불가능하다. 바깥쪽 스코프에서 선언한 변수는 안쪽 스코프에서 사용 가능하지만, 안쪽 스코프에서 선언한 변수는 바깥쪽 스코프에서 사용할 수 없다. 2. 스코프는 중첩이 가능하다. 3. 가장 바깥의 스코프는 전역 스코프(Global scope)
What is Scope?
1. Scope? scope는 JS 문법이 아니다. 쉽게 말하자면 scope는 “변수가 어느 영역까지 쓰일 수 있는가”의 범위, 혹은 “변수가 선언되고 사용할 수 있는 공간”을 말한다. let, const, var 등으로 변수를 선언했다 하더라도 해당 변수가 block으로 막혀 있다면 “is not defined” error message가 뜬다. 왜냐하면 변수는 모두 제각각 범위가 다른데, 영역을 자유롭게 넘나드는 변수가 있는 반면 어떤 것들은 특정 범위 내에서만 쓰일 수 있기 때문이다. 💡 block은 중괄호{}(=curly brace)로 감싸진 것을 밀한다. 예를 들어 function, if, for문의 내부는 하나의 block이다. block 내부에서 정의된 변수를 local variable이라 하는데, 이는 block 내부에서만 쓰일 수 있다. 위와 같은 예시처럼 `console.log(re
Python Basics - Scope
16. Scope 어떤 변수, 함수나 객체 등이 적용될 수 있는 범위 범위를 벗어나면 해당 객체는 사용 X Python에서 Scope 는 항상 객체가 선언된 지점에서 위로는 해당 변수나 객체가 생성된 지점에서 상위 객체까지, 아래로는 모든 하위 객체들과 그 내부까지가 범위 16-1. Local Scope 함수 안에서 선언된 변수나 함수가 local scope를 가지고 있음 이러한 변수들은 해당 함수 안에서만 유효 <

[JS] 스코프(Scope)
✅ 스코프(Scope) > - 식별자가 유효한 범위 > - 식별자를 검색할 때 사용하는 규칙 > - 변수는 자신이 선언된 위치에 의해 자신이 유효한 범위, 즉 다른 코드가 변수 자신을 참조할 수 있는 범위가 결정된다. 모든 식별자는 자신이 선언된 위치에 의해 다른 코드가 식별자 자신을 참조할 수 있는 유효 범위가 결정된다. 🔰 식별자 결정 > - JS 엔진이 이름이 같은 두 개의 변수 중에서 어떤 값을 참조해야 할 지 결정하는 것. > - 스코프는 네임스페이스다. > 같은 x라는 이름을 갖는 변수를 참조하지만 각 x변수의 스코프 가 다르기 때문에 에러가 발생하지 않는다. -> 다른 스코프에는 같은 이름의 식별자를 사용할 수 있다. ❗ 식별자는 어떤 값을 구별할 수 있어야 하므로 유일해야 한다. -> 하나의 값은 유일한 식별자에 연결되어야 한다. ❗ 스코프가 없다면 같은 식별자 이름은 충돌을 일으키므로 프로그램 전체에서 하나밖에 사용할 수 없다

JavaScript : Scope & Closure
🪴 Scope 스코프는 이름이 출동하는 문제를 덜어주고, 자동으로 메모리를 관리합니다. 변수 이름, 함수 이름, 클래스 이름과 같은 식별자가 본인이 선언된 위치에 따라 다른 코드에서 자신이 참조될 수 있을지 없을지를 결정되는 것이다. 목차 변수의 종류와 특성 전역변수와 지역변수 스코프 Global,Local - Func,Block Level 스코프 체인 스코프 종류 🌿 변수의 종류와 특성 > var과 let의 차이점 2015년 let이 도입되는 시기만 해도 위 코드처럼 변수 재선언을 허용하는 것은 코드 가독성 측면에서 좋지 못하다는 의견이 많았다. 그렇기 때문에 let과 const는 재선언을 안되게끔 만들어졌다. 하지만, 최근 몇년 사이에 함수형 프로그래밍 페러다임이 점점 주류가 되어가고 있는데, 오히려 var처럼 변수의 재선언을 허용하는 것이 기능 측면에서 더 좋을 수 있다는 의견이 많아지

[CS] Scope (스코프) Day-15
컴퓨터 공학에서 Scope는 '범위'를 뜻합니다. 정확하게 얘기하면 "변수의 유효범위"로 사용됩니다. let, const의 옳바른 사용법과 무엇을 권장하는지 알아보기 위해 글을 작성합니다. Scope를 공부하는 이유는 중첩 규칙 block scope와 function scope 전역 스코프와 지역 스코프 전역 변수와 지역 변수간 우선 순위 let, const, var의 차이 전역 객체의 이해 Scope 변수의 유효 범위 이해 let message는 현재 if(){} 안에 선언된 상태다. 따라서 바같쪽에서 접근할 수 없다. 반대로 function(){}에서는 바같쪽에 있는 변수에 접근할 수 있습니다. 아래의 예시를 보고 판단하면 됩니다. ex) 블록에 의해 변수에 접근할 수 있는 범위가 존재합니다. 이 범위를 Scope 스코프라고 부릅니다. 바같쪽 스코프에서 선언한 변수는 안쪽 스코프에서 사용이 가능합니다. 하지만 안쪽에서 선언
Compilation & Scope
Compilation >호이스팅, 스코프, 클로저 등 JavaScript의 실행과정에 대한 마지막 개념으로 우리는 컴파일레이션에 대한 이해가 필요하다. IR(중간 언어)로의 컴파일 과정을 단순화 한다면, 소스코드를 파싱한 뒤 AST를 생성하여 중간 언어인 바이트 코드로 컴파일하는 과정으로 볼 수 있다. 이때 우리가 알고자 하는 var를 쓰지 않는 이유와 밀접한 관련이 있는 부분은 바로 파싱과정이다. 파싱과정을 나눈다면 크게 아래와 같이 나눌 수 있다. 1. 토크나이징/렉싱 2. 파싱 그럼 해당 단계들에 대해 간단히 짚고 넘어가보자. Tokenize & Lexing >토크나이징/렉싱은 `Jav
[JavaScript] JS_개념 및 동작원리 4. Scope & Hoisting
_ # INDEX _ _1. Values & Data type Operators Control flow 4. Scope & Hoisting 4-1. Concept of Scope 4-2. local scope & global scope 4-3. Rule 4-4. var vs let vs const 4-5. Global variable 4-6. Concept of Hoisting Object & Array This Prototype & Inheritance Function Callback function Closuer Class Others _ 4. S

[Javascript] Scope(스코프)와 Closure(클로저)
Scope(스코프) Scope: 변수 접근 규칙에 따른 유효 범위 변수는 어떠한 환경 내에서만 사용 가능하며, 프로그래밍 언어는 각각의 변수 접근 규칙을 갖고 있음. 변수와 그 값이 어디서부터 어디까지 유효한지를 판단하는 범위 Javascript는 기본적으로 함수가 선언(lexical)되는 동시에 자신만의 Scope를 가짐. Global Scope와 Local Scope Scope는 중첩이 가능... 함수 안에 함수를 넣을 수 있음. Global Scope는 최상단의 Scope로 전역 변수는 어디서든 접근이 가능 지역 변수는 함수 내에서 전역 변수보다 더 높은 우선순위를 가진다. Javascript는 기본적으로 함수 단위로 자신만의 Scope를 가짐. Function Scope와 Block Scope Block: 중괄호로 시작하고 끝나는 단위 let, var, cons