2023.01.02 올해 첫게시

김진겸·2023년 1월 2일
0
post-thumbnail

2023.01.02
올해 첫 게시 꾸준히 하자는 말보다는 조금더 구체적으로 계획을 하자. 내가 늘 생각하는것은 가장 중요한것은 계획,실천,점검이다. 점검에 상대적으로 시간을 적게 투자하는데 늘려야한다. 하루 10시간 이상을 공부하며 점검에 30분정도 밖에 투자하는 것은 말이 안된다. 나무를 패기위해 1시간이 주어진다면 50분을 도끼를 갈겠다는 사람도 있었다. 그런데 나는 10시간 중에 30분이라니 말도 안된다. 적어도 하루에 한시간이나 중간중간 점검하는 시간을 가져야한다.
식사와 취침을 기준하면 좋을것 같다. 식사하기 전이나 후에점검하고 취침전에 점검하는것이다. 계속 앞만 보고 가면 내가 어디로 가는지 알 수 없다. 중간중간 지도를 보며 현재위치를 점검해야한다.
달려가는 것 만큼 점검하는게 중요하다.

1주차 마지막 과제였던 회원가입창을 처음부터 만들어보며 복습했다.
그중 오늘 내게 부족했던점은 스코프(scope)이다.
스코프(scope)
:변수 참조의 유효범위이다.
종류는 전역 스코프, 지역 스코프, 블록레벨 스코프 로3가지가 있다.

Global scope(전역 스코프)
함수내부에 있지 않고 최상단, 최고밖에 존재하는 변수들을 전역스코프에 존재 한다고 한다.
var는 전역 스코프를 따르는데 var로 변수로 선언할 경우 수많은 전역스코프를 재할당하는 경우가 생긴다. 그러면 예측할 수 없는 오류가 발생한다.
그러므로 var는 최대한 지양한다.

Local scope(지역 스코프)
함수내부있는 변수들은 함수내부에서만 참조되고 쓰일수 있다.
전역스코프의 변수가 지역스코프로 들어갈 수 있지만 지역스코프의 변수는 밖에서는 참조 할수 없다.
오늘 이점에서 실수 했다. 지역 스코프에서 선언한 변수를 계속 다른 지역스코프에서 활용하려고 했다. 이때 ~~null 오류가 생겼는데 정확히 기억이 안난다
[이점은 심각한 부분이다. 많은 양을 공부하고 있는데 꼼꼼히 기록해야한다. 깊숙히 파고들어 공부하는것도 필요하지만 지금은 빨리 많이 배워야 한다. 그러면 시간을 들여 꼼꼼히 기록하고 많이 써봐야한다. 이런식으로 해야 어제보다 성장할 수 있다.]

지역스코프 예시)
함수 레벨 스코프
Const sum =function(){
var x =0;
}
Console.log(x)
=> undefined

블록 레벨 스코프
if(){
var y =0;
}
console.log(y)
=> 정상적인 참고를 함
그래서 var는 쓰지 앟는다.
var키워드는 블록레벨 스코프를 따르지 않는다.
{}를 사용해서 생성되는 코드들은 블록 레벨 스코프를 따르게 된다.

let키워드의 경우는 둘다 따른다.

Var I =100;
for(var I =0;i<10;i=+1){
 console.log(i)
}
Console.log(i)=>10

Var i =100;
for(let i =0;i<10;i=+1){
 console.log(i)
} -> 이반복문이 종료되면 let =i는 죽어버린다.
Console.log(i)=>100

var키워드는예측하기 힘들다 따라서 최대한 사용을 지양한다.

꼼꼼히 기록하고 탐구하며 공부하자. 지금껏 공부했던걸 다시 하는건 무리 일수 있다. 공부의 효율은 점점더 올라갈 것이니 이미 놓친것을 아쉬워 말고 앞으로 꼼꼼히 더 잘하자.

profile
성장에 목마른 입문자입니다!

0개의 댓글