programmers 내적 (javascript) , 변수선언, 호이스팅 공부
🏀 나의 풀이
function solution(a, b) {
var answer = 0;
for(let i in a){
answer += a[i]*b[i];
}
return answer;
}
🏀 추가공부
javascript 변수 선언에 대해
var
var name = 'baskikball'
console.log(name) // baskikball
var name = 'javascript'
console.log(name) // javascript
- 같은 변수를 한 번 더 선언했지만 각기 다른 값이 출력된다.
- 코드량이 많아진다면 변수의 사용을 파악하기 힘들고 값이 바뀔 수 있다.
위와 같은 문제를 해결하기 위해 ES6이후 let과 const가 추가되었다.
let
let name = 'baskikball'
console.log(name) // baskikball
let name = 'javascript'
console.log(name)
// Uncaught SyntaxError: Identifier 'name' has already been declared
- name이 이미 선언되었다는 메시지와 함께 에러가 뜬다.
- 변수 재선언이 불가능하다.
let vs const
let name = 'baskikball'
console.log(name) // baskikball
let name = 'javascript'
console.log(name)
// Uncaught SyntaxError: Identifier 'name' has already been declared
name = 'durant'
console.log(name) //durant
- let은 변수에 재할당이 가능.
const name = 'baskikball'
console.log(name) // baskikball
const name = 'javascript'
console.log(name)
// Uncaught SyntaxError: Identifier 'name' has already been declared
name = 'durant'
console.log(name)
//Uncaught TypeError: Assignment to constant variable.
- const는 변수 재선언, 변수 재할당 모두 불가능하다.
호이스팅에서 var와 let의 차이
console.log(foo); // undefined
var foo;
console.log(bar); // Error: Uncaught ReferenceError: bar is not defined
let bar;
- let으로 선언된 변수는 스코프의 시작에서 변수의 선언까지 일시적사각지대(TDZ) 에 빠지게 된다.
결론
- 변수 선언에는 기본적으로 const를 사용하고, 재할당이 필요한 경우에 한정해 let을 사용하는 것이 좋다.
- 객체를 재할당하는 경우는 생각보다 흔하지 않다. const를 사용하면 의도치 않은 재할당을 방지해 줄 수 있다.
앞으로는 간단한 문제더라도 이런 점들을 고려하면서 풀어봐야겠다.
Author And Source
이 문제에 관하여(programmers 내적 (javascript) , 변수선언, 호이스팅 공부), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@pji3504/programmers-내적-javascript-변수선언-호이스팅-공부저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)