자바스크립트 기초 다지기

willy·2022년 3월 1일
2
post-thumbnail

컴퓨팅 사고를 기르기 위해서는 알고리즘 공부가 필수라고 한다.

대표적인 백준, 프로그래머스를 살펴봤지만 백준은 백엔드 기준이라 자바스크립트로 입력하기는 어려움이 많았다.

프로그래머스는 코딩테스트을 바탕으로 구축되어 있어, 나같은 애송이에겐 어울리지 않았다.

그러던 중 스터디하는 곳에서 던져준 Replit이란 사이트를 통해 자바스크립트 문제를 접할 수 있었다.

기초적인 문제들을 풀어나가며, 오랜만에 복습을 간단히 진행해봤다.

아래는 기초적인 개념들을 정리했다.


null과 undefined

이 둘은 모두 자바스크립트의 데이터 타입이다.
undefined는 선언은 됐지만 할당되지 않은 경우,
null은 의도적으로 할당하지 않은 경우를 나타낸다.

포괄적인 의미로 '값이 없다'고 생각할 수 있지만, 의도한 것과 의도하지 않은 것에서 오는 차이다.

예를 들어, 다음 말을 데이터 타입으로 표현해보자.

"난 친구 같은 거 없어"
의도적으로 친구가 '없다'고 말했으니 이는 null에 해당한다.

let 친구 = null;

이런 경우에는 의도하지 않았으므로, undefined라고 말할 수 있다.

let 행동;
// undefined;

뿐만 아니라, 이들의 데이터타입도 엄연히 다르다.
엄격 연산을 통해 살펴보면, 값은 같지만 데이터타입은 다르다는 것을 확인할 수 있다.

console.log(null == undefined);   
// true
console.log(null === undefined);  
// false

데이터 타입을 살펴보면
null은 object로 분류할 수 있다.
'빈 값'을 할당했기 때문이다.


부등호연산

이 외에도 연산자를 공부하면서 생긴 어려움이 있었다.
어떤 숫자의 이상, 이하를 나타낼때 부등호를 아무렇게나 썼더니 프로그램이 오류가 났다.

=> 이런식으로 썼는데 생각해보니 화살표 함수와 완전히 똑같이 생겨서, 오류가 날만한 듯 했다.

옆에서 지켜보던 형이, 우리가 봤을때 이해가 되는 말이 있다 하더라도 컴퓨터는 못알아듣는다, 세세하게 지켜봐야한다고 했다.

그래도 다행인 것은 내 논리를 수정하지 않고, 문법만 수정하면 된다는 사실에 공부가 즐거웠다.

개발자에게 있어 수치란 논리가 틀렸을때가 아닌가 감히 생각해본다.


기본적인 문법들을 살펴보면서 아직까진 많이 미숙하다는 것을 깨닿게 된다.
어디까지나 가장 빠른 길은 제대로 가는 길이기 때문에, 조급해하지 않고 모두 흡수하며 나아가야겠다.

profile
같은 문제에 헤매지 않기 위해 기록합니다.

0개의 댓글