코플릿 변수와 자료형

이건우·2021년 5월 30일
0
post-thumbnail

코드스테이츠 첫번째 코플릿 문제는 변수와 자료형 입니다.

변수와 자료형에서는 변수를 선언하고 무엇을 할당하는냐에 따라 내가 원하는 값이 나오고 안나오고가 결정되는 중요한 파트인데요 변수를 선언하는건 앞으로 코딩을 하면서 계속 쓰이는 것이기 때문에 변수선언을 하고그 변수를 내가 어떻게 이용하고 사용 할 것인지가 제일 중요한 것 같습니다 .

또한 변수에서는 내가 선언해서 만들어준 전역변수와 함수에서 매개변수로 사용되는 변수가 있으니 곂치지 않게 잘 활용 하는게 중요할 것 같습니다

또한 선언하는 방법에는 let var const가 있습니다.

1. var :var선언은 로컬의 범위와 전역범위입니다 .

함수 내부에서 선언을 할때에는 로컬범위 이고
로컬범위의 예

    var tester = "hey hi";
    
    function newFunction() {
        var hello = "hello";
    }
    console.log(hello); // error: hello is not defined

위와 같이 함수 내부의 (로컬) var 선언은 함수 외부에서는 사용 할 수 없습니다 .

외부에서 선언을 할 경우에는 전역 범위 입니다 .

var 선언은 재할당이 가능 합니다. 하지만 재할당을 할 경우에는 여러가지 오류가 생길 수 있는 문제점이 있습니다

  1. let 선언 : let 선언은 var 선언이 가진 문제점을 해결한 선언문입니다 .

let선언은 블록범위입니다.
하지만 let 선언은 재할당은 불가능하나 업데이트는 가능합니다

    let greeting = "say Hi";
    greeting = "say Hello instead";

가능합니다 .

하지만

let greeting = "say Hi";
    let greeting = "say Hello instead"; // error: Identifier 'greeting' has already been declared

이렇게 재할당은 불가 합니다 .
let이 제일 많이 쓰입니다.

하지만 동일한 변수가 다른영역에서 선언이 된다면 오류가 발생하지 않습니다 .

   let greeting = "say Hi";
    if (true) {
        let greeting = "say Hello instead";
        console.log(greeting); // "say Hello instead"
    }
    console.log(greeting); // "say Hi"

지금과 같은 경우 입니다.

  1. const 선언은 let과 마찬가지로 블록 범위 입니다.

const 선언은 재할당이나 업데이트가 불가능 합니다.
따라서 같은 변수명을 선언 할 때에는 기존 const 선언을 초기화 해야 합니다 .

  const greeting = "say Hi";
    greeting = "say Hello instead";// error: Assignment to constant variable.
const greeting = "say Hi";
    const greeting = "say Hello instead";// error: Identifier 'greeting' has already been declared

업데이트와 재할당 둘 다 불가능합니다.

정리를 해보자면

1. var 변수는 전역 로컬 범위이고 let과 const는 블록범위 입니다

2. var변수는 범위 내에서 업데이트되고 다시 선언 될 수 있습니다.
let변수는 업데이트 할 수 있지만 다시 선언 할 수는 없습니다. const변수는 업데이트하거나 다시 선언 할 수 없습니다

3. var선언과 let선언은 재할당 및 업데이트를 할 시에 초기화를 하지 않아도 되지만 const선언은 재할당이나 업데이트를 할 때에 기존 선언을 초기화 해야합니다

좋았던 점

  1. 내가 선언한 변수를 활용해서 코플릿을 잘 풀어 나갔다
  2. 변수를 선언 할때 가독성이 쉽게 변수를 선언 하였다.
    3.내가 선언 한 변수와 다른 변수들 매개변수들과 곂치지 않게 선언을 잘 해주었다.

아쉬웠던점

  1. var , let , const 선언에 대해 미리 먼저 알아보고 공부 해볼껄 이라는 생각이들었습니다.
profile
주니어 개발자 이건우 입니다 .

0개의 댓글