# 31일 - 파이톤에서 자바스크립트까지 - 베이스 4부

last article에서 우리는 다음과 같은 내용을 토론하였다.
  • 오늘 우리는 다음과 같은 내용을 토론할 것이다
  • 함수 정의
  • 위치 및 키워드/명명 매개변수
  • 자바스크립트의 화살표 함수
  • 오늘은 Python과 JavaScript에서 변수의 역할 영역에 대해 논의합니다.우리는 아래의 내용을 토론할 것이다
  • 블록
  • 글로벌 변수
  • 부분/블록 변수 및 블록 외부에서 액세스
  • 동명의 전역과 국부 변수

  • 가로막다

    활용단어참조
    Python에서 블록은 ":"조작부호를 사용하여 설명합니다.블록 내의 코드는 반드시 축소해야 한다.
    def func():
      print("This statement is inside a block")
      print("This statement is inside a block as well")
    
    print("This statement is outside the above block")
    

    JavaScript
    JavaScript에서 "{"조작부호를 사용하여 블록을 시작하고 "}"조작부호를 사용하여 블록을 끝낼 수 있습니다."{"과 "}"의 코드는 블록에 있습니다.들여쓰기가 꼭 필요한 것은 아니지만 코드를 들여쓰기는 좋은 방법이다.가독성 향상
    const func = () => 
    {
      console.log("This statement is inside a block")
      console.log("This statement is inside a block as well")
    }
    
    console.log("This statement is outside the above block")
    

    전역 변수
    글로벌 변수는 블록 외부에서 선언되는 변수입니다.

    활용단어참조
    Python에서 우리는 전역 변수에 접근할 수도 있고, 전역 변수를 업데이트할 수도 있다.만약 우리가 접근 변수를 계획한다면, 원래대로 그것을 사용할 수 있다.그러나, 만약 우리가 그것을 업데이트하려면, 전역 키워드를 사용해야 한다
    global_variable = "I am a global variable"
    
    '''
      Accessing Global Variable
    '''
    def func1():
      print(global_variable)
    
    '''
      Updating Global Variable
    '''
    def func2():
      global global_variable
      global_variable += ".....Updating"
      print(global_variable)
    

    JavaScript
    Python과 달리 JavaScript에서는 변수를 원래대로 접근하고 업데이트할 수 있습니다. 즉, 글로벌과 같은 추가 문장/키워드가 필요하지 않습니다.
    var global_variable = "I am a global variable"
    
    /*
      Accessing Global Variable
    */
    func1 = () => {
      console.log(global_variable)
    }
    
    /*
      Updating Global Variable
    */
    func2 = () => {
      global_variable += ".....Updating"
      console.log(global_variable)
    }
    

    로컬/블록 변수 및 블록 외부에서 액세스

    활용단어참조
  • 함수 내부에서 명시된 국부 변수는 함수 블록
  • 에서 외부로 접근할 수 없습니다
  • if/else 블록이나 순환 내에서 성명된 국부 변수는 블록 밖에서 접근할 수 있습니다
  • def func():
      local_variable = "I am a local variable"
      print(local_variable)
    
    func()
    print(local_variable)
    
    다음 오류가 발생합니다.
    NameError: name 'local_variable' is not defined
    
    if/else 블록에 표시된 국부 변수에 접근해 봅시다
    if True:
      local_variable = "I am a local variable"
      print(local_variable)
    
    print(local_variable)
    
    위의 코드 세션은 어떠한 오류도 일으키지 않습니다

    JavaScript
    JavaScript는 Python과 유사
  • 함수 내부에서 명시된 국부 변수는 함수 블록
  • 에서 외부로 접근할 수 없습니다
  • if/else 블록이나 순환 내에서 성명된 국부 변수는 블록 밖에서 접근할 수 있습니다
  • func = () =>{
      var local_variable = "I am a local variable"
      console.log(local_variable)
    }
    
    func()
    console.log(local_variable)
    
    다음 오류가 발생합니다.
    ReferenceError: local_variable is not defined
    
    If/else 블록에 선언된 로컬 변수에 액세스하려고 하면
    if(true){
      var local_variable = "I am a local variable"
      console.log(local_variable)
    }
    
    console.log(local_variable)
    
    이상의 코드 세션은 어떠한 오류도 일으키지 않습니다

    같은 이름의 전역 변수와 국부 변수

    NOTE: HAVING GLOBAL VARIABLES AND LOCAL VARIABLES WITH THE SAME NAME IS BAD PRACTICE!!! IT CAN LEAD TO UNNECESSARY COMPLICATIONS


    몇 개의 코드 세션을 봅시다.
    우선 함수가 있는 파이썬 코드 세그먼트를 살펴봅시다.
    string = "Global Variable"
    
    def func():
      string = "Local variable"
      print(string)
    
    func()
    print(string)
    
    다음은 출력
    Local variable
    Global Variable
    
  • 우리는string이라는 전역 변수가 있는데 그 값은 전역 변수이다
  • 함수 내부에서 "Local variable"값을 변수 문자열에 부여할 때 실제로string이라는 부분 변수를 만듭니다.따라서 블록 내의 문자열에 대한 모든 인용은 국부 변수 문자열에 대한 인용이다.기본적으로 우리는 전역 변수를 잠시 덮어썼다
  • 블록 외부에는 로컬 변수 문자열*이 더 이상 존재하지 않으며 ** 문자열에 대한 모든 참조는 글로벌 변수 문자열을 가리킵니다.
  • 함수 내부에 국부 변수를 만드는 것을 피하기 위해서 앞에서 논의한 글로벌 키워드를 사용할 수 있습니다.
    이제 자바스크립트에서 비슷한 걸 해보도록 하겠습니다.
    var string = "Global Variable"
    
    const func = () => {
      string = "Local Variable"
      console.log(string)
    }
    
    func()
    console.log(string)
    
    다음은 출력
    Local Variable
    Local Variable
    
  • 전역 변수 문자열을 정의했습니다.
  • 함수 내부에서, 우리는let이나 var 키워드를 사용하지 않기 때문에 새로운 국부 변수를 정의하지 않습니다.따라서 함수 내부에서 변수 문자열에 대한 모든 인용은 전역 변수에 대한 인용이다.따라서 국부 변수는 출력
  • 이다.
  • 함수 중의 전역 변수를 업데이트했기 때문에 함수 밖의 console 문장도 업데이트된 값을 출력한다
  • 이제 var 키워드로 국부 변수를 정의해 봅시다
    var string = "Global Variable"
    
    const func = () => {
      var string = "Local Variable"
      console.log(string)
    }
    
    func()
    console.log(string)
    
    현재, 이 기능은 위에서 논의한 Python 코드 세션과 유사합니다.다음은 출력
    Local Variable
    Global Variable
    

    좋은 웹페이지 즐겨찾기