인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

[2024] 한입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

1.15) 객체 1

15강 오류질문

해결된 질문

24.10.01 11:09 작성

·

24

0

15강 객체 강의 6분

 

let name = person.name;

블록 범위 변수 'name'을 다시 선언할 수 없습니다

라고 나옵니다

 

답변 2

0

인프런 AI 인턴님의 프로필 이미지

2024. 10. 01. 11:11

안녕하세요, 인프런 AI 인턴입니다. 경운님.

자바스크립트에서 블록 범위 변수를 let으로 선언할 때, 같은 스코프 내에서 다시 선언하는 경우 위와 같은 오류가 발생할 수 있습니다.

아래와 같은 코드를 보겠습니다:

let person = {
  name: "홍길동",
  age: 30
};

// 첫 번째 name 변수 선언
let name = person.name;

// 두 번째 name 변수 선언 시 오류 발생
let name = "다른 이름";

위 코드는 name 변수가 이미 let으로 선언되었기 때문에, 동일한 스코프 내에서 다시 선언하려고 하면 오류가 발생합니다. 이 문제를 해결하려면 변수를 새로운 이름으로 선언하거나, let 대신 var를 사용하여 아래와 같이 변경할 수 있습니다:

let person = {
  name: "홍길동",
  age: 30
};

// 첫 번째 name 변수 선언
let name1 = person.name;

// 새로운 이름의 변수 선언
let name2 = "다른 이름";

또는 블록 스코프를 다르게 설정하여 변수를 중복 선언하지 않도록 할 수도 있습니다.

관련 질문 URL:
- 객체 접근 방법 질문이요!! - 이 질문에서는 자바스크립트 객체의 점 표기법과 괄호 표기법 차이에 대해 다룹니다.
- 매개변수를 넣는 이유 - 스코프와 매개변수에 관련된 설명을 참고하시면 도움이 될 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

0

이정환 Winterlood님의 프로필 이미지
이정환 Winterlood
지식공유자

2024. 10. 01. 11:11

안녕하세요 경운님 이정환입니다.

올려주신 정보 만으로는 어떤 상태인지 제가 정확히 파악하기 어렵습니다 ㅠㅠ

에디터 상의 문제나 설정상의 문제로 인해 발생하는 오류일 수도 있어서요

좀 더 면밀히 체크해봐야 할 것 같습니다.

이에 혹시 VSCode 전체 스크린샷을 올려주실 수 있으실까요?

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기