[새싹x코딩온] 풀스택 개발자 부트캠프 과정 2주차-2 회고 | JavaScript
Javascript란?
자바스크립트는 웹 브라우저에서 동작하는 인터프리터 컴파일 프로그래밍 언어입니다 요즘엔 Node.js 등 브라우저가 아닌 환경에서도 사용되고 있으며 웹개발 환경에서 꼭 빠질 수 없는 언어로 자리잡고있으 글로벌 개발언어 사용순위에도 꾸준하게 상위권을 차지하고있으면서 프론트엔드, 백엔드 개발자라면 꼭 알고 넘어가야할 개발언어입니다
Javascript의 장단점과 특징
- 간편한 개발환경
웹브라우저만 있으면 자바스크립트를 실행할 수 있습니다 이말은 즉 별도의 개발도구없이 쉽게 개발과 테스트를 해볼 수 있다는말입니다 언제 어디서든 개발할 수 있다는 큰 장점이있습니다
- 인터랙티브성
자바스크립트는 클라이언트와 손쉽게 상호작용할 수 있는 기능을 만들어 낼 수 있습니다 다양한 이벤트 와 애니메이션 처리, 입력값 검증을 쉽게 구현할 수 있습니다
자바스크립트는 백엔드, 프론트엔드 공통된 언어입니다 Node.j를 사용하면 서버사이드 개발이 가능하기때문에 굉장히 효율성좋은 개발언어입니다
이렇게 좋은점도 많지만 반대로 단점도있는데 알아보겠습니다
제가 생각한 가장 치명적인 단점은 바로 보안입니다 자바스크립트는 클라이언트에서 실행되기때문에 취약점 노출 등 심각한 보안문제가 발생할 우려가 있습니다
다음으로 디버깅 문제입니다 자바스크립트는 자료형(타입) 검사가 느슨하기때문에 마찬가지로 심각한 버그가 발생할 수 있습니다 반드시 자료형 검사를 철저하게 하여 잘못된 데이터가 오고가는 일이 없도록 해야합니다!! (TypeScript를 사용하는 방법도 있습니다)
- Javascript의 변수
자바스크립트는 var, const, let 이라는 변수가 존재합니다 보통의 다른 언어들에서는 자료형이 존재하기때문에 int a, bool b 등 앞에 자료형이 붙기 마련인데 자바스크립트에서는 변수를 선언할때 별도의 자료형을 선언하지 않기때문에 변수 선언시 var a, let a, const a 로 선언합니다
그런데 자바스크립트는 선언만 하지 않을뿐 자료형타입은 존재합니다 Number, string, bool, undefined, null 등등 선언 후 초기화 될때 어떠한 값을 넣는냐에 따라 결정됩니다 변수의 타입을 확인 하는 방법은 typeof 변수명 입니다
var a; undefined
let b; undefined
const c; undefined
a = 1; Number타입
b = "types" String 타입
c = true bool타입
console.log(typeof a) // Number
- Hoisting
자바스크립트의 중요한 특징 중 하나입니다
호이스팅이란? 선언된 변수, 함수들이 회상단으로 끌어 올려진 것 처럼 동작하게 되는 자바스크립트의 특성입니다
자바스크립트는 변수와 함수를 선언 할때는 호이스팅으로 최상단으로 끌어 올리기 때문에 사용이 가능하게 되지만 초기화를 동시에 한다면 끌어올리지않습니다 고로 이전에 호출한 코드에서는 오류가 발생하게됩니다 이러한 특성때문에
반드시 변수를 사용하기전에 항상 선언을하고 함수표현식은 변수 선언 이후에 사용하는것이 좋습니다
- Operator
자바스크립트에는 다른 개발언어들과 비슷한 연산자들이 있지만 특별한 연산자가 있습니다 그렇기 때문에 여기선 모든 연산자를 보지않고 비교 연산자에서 독특한 연산자만 확인해보겠습니다 바로 === 연산자입니다 자바스크립트는 자료형타입 검사가 느슨하다고 했었습니다 그 때문에 정수형숫자 3000과 문자열 "3000"이 다름에도 같은값이라는 결과가 나오는데 이렇게 전혀 맞지않는 타입의 조건을 철저하게 거르기 위해 === 비교연산자를 사용해야합니다 === 연산자는 변수의 값뿐만 아니라 타입까지 비교하여 결과값을 나타내기때문에 잘못된 데이터값으로 처리되는것을 막을 수 있습니다
오늘은 자바스크립트에 대해 기본적인 정보를 알아봤습니다 다음엔 배열과 오브젝트 그리고 DOM 객체에 대해 알아보겠습니다 자바스크립트는 프론트엔드 개발자이든, 백엔드개발자이든 필수적으로 이해하고 거쳐가야하는 웹개발을 할때 기본적인 개발언어중 하나라고 생각하기때문에 꼭 이해 하고 넘어가셨으면합니다