코드로 우주평화

자바스크립트 #변수, 스트링, 함수 본문

나는 이렇게 학습한다/Etc

자바스크립트 #변수, 스트링, 함수

daco2020 2021. 10. 30. 16:32

 오늘 배운 것 

- 콘솔로그 다른 자료형을 함께 출력할때는 , 로 구분

- `null`과 `undefined`는 모두 자바스크립트의 데이터 타입
- object = dictionary
관련 블로그 : [https://agvim.wordpress.com/2017/08/30/python-dictionary-vs-javascript-object/](https://agvim.wordpress.com/2017/08/30/python-dictionary-vs-javascript-object/)


- 변수명.length = len(변수명)
ex. "I LOVE WECODE".length


- 일반 함수(인풋과 리턴 없음. 실행하면 바로 출력)

    //함수 선언
    
    function sayHello() {
    
    console.log("안녕하세요! 만나서 반갑습니다")
    
    }
    
    //함수 호출
    
    sayHello()
    
    >>> 안녕하세요! 만나서 반갑습니다
    ```



- 리턴 함수 (반환 함수) 
(함수 실행과 별개로 함수결과는 따로 출력해야함. 함수는 따로 실행할 필요 없음)
리턴 = 반환 : ‘ 다른 곳에 사용할 수 있는 값을 만들어줄게! ‘
**차이점!! >>> 리턴 : 변수에 할당 가능 // 콘솔로그 : 변수에 할당 불**가능
    

    function returnSeven() {
    
    let seven = 7
    
    return seven
    
    }
    
    returnSeven() //함수 실행!  리턴은 함수를 실행한다고 바로 출력되지 않고 않음
    
    console.log(returnSeven()) //함수 결과 값을 출력!
    
    >>> 7
    
    // 리턴하는 이유는 리턴 한 값을 다른 변수에 할당 할 수 있기 때문에 사용!! (별 다섯개!)
    
    function myName() {
    
    let name = "김은찬"
    
    return name
    
    }
    
    let mymyName = myName() // 함수명 할당 > 리턴 결과를 다른 변수에 할당
    
    console.log(mymyName) // 변수 출력 하면 리턴 값이 출력됨
    ```


    
- 인풋 함수
함수 선언 할 때 인풋 : 파라미터(매개변수 = 인자)
함수 출력 할 때 인풋 : 아규먼트(호출 = 인수)
**하나의 함수에 인자만 바꿔 넣는다면 동시에 여러개의 결과값을 얻을 수 있음**
    

    function getLengthOfName(name) {
      return name + " / 글자수 : " + name.length
    }
    
    let name = getLengthOfName("김은찬")
    
    console.log(name)
    
    >>> 김은찬 / 글자수 : 3
    
    ---
    function sayMyAge(age) {
      return age
    }
    
    let age = sayMyAge(7)
    console.log(age)
    let age2 = sayMyAge(9)
    console.log(age2)
    let age3 = sayMyAge(11)
    console.log(age3)
    
    >>> 
    7
    9
    11
    
    ---
    function getFullName(name, age) {
      let result = "이름 : " + name + " / 나이 : " + age + " 살"
      return result
    } 
    // 이렇게 함수 안에 변수를 지정하고 리턴은 변수를 출력하도록 하자
    
    let mymy = getFullName("박새로이", "3") //아규먼트 순서 잘 지킬것
    console.log(mymy)
    
    >>>
    이름 : 박새로이 / 나이 : 3 살


- 내부에서 선언한 변수 ex. result 는 함수 외부에서는 사용 불가 (기준은 중괄호 안에 있는 변수를 뜻하며, 그 이유는 함수의 파라미터는 함수 내에서만 사용가능하기 때문임!!)

 


 오늘 느낀 것 

- 자바스크립트로 클론 코딩 할때는 그냥 뭔지도 모르고 따라하다보면 되었는데 막상 다시하라고 하거나 어떻게 작동하는지 원리를 설명하라고 하라면 아무말도 할 수 없었다. 이제와서 기본 문법을 공부해보니까 어떻게 작동하는지 원리를 알게되는 기분, 게다가 파이썬이랑 같이 배우니까 서로 어떻게 다르고 어떻게 같은지를 알 수 있어서 머릿속에 더 잘 들어오는 기분!

 

- 가장 좋은 공부 방법은 기본 문법과 프로젝트를 함께 진행하는 것 같다. 배운 기본 문법을 프로젝트에 바로 적용하면서 사용법을 익히고, 튜토리얼이나 클론 코딩을 통해 실제 사용하는 코드를 경험하며 다시 기본 문법의 원리를 잘 이해할 수 있게 되는 선순환 공부법인 것 같다.