JavaScript 공부 회고

오늘은 변수, 자료형과 연산자, 변수와 자료형 문제, let과 var의 차이, 호이스팅, 배열, 배열문제까지 공부했다.

프로그래밍은 한마디로 컴퓨터한테 일을 시키는 것이다.

컴퓨터는 인간이 아니기에 우리가 그들만의 언어로 소통을 해주어야 하는데 이를 "프로그래밍 언어"라고 한다.

변수

변수는 예를 들면 이런 것인데 let color = "black" 어떤 값을 담을 수 있는 "양동이"라고 생각하면 쉽다.

여기서 color가 변수 이름이다.

"="은 수학에서 같다인데 프로그래밍 세계에서 "="은 오른쪽에 있는 값을 왼쪽에 집어 넣는것이다.

let color = "black"
color = "pink"
라고 console.log(color)이라고 하면 "pink"가 찍힌다
let을 안쓰고 color = "pink"라고 하면 기존에 있는 걸 바꿔준다.

연산자

기본연산자, 단축된 연산자, 관계연산자, 논리연산자를 배웠다

여기서 해깔렸던 부분은 !== 비교 연산자인데 a !== a와 3이 다른데 자료형까지 다른가?였다
그렇지만 이제 이해했다.

let, var, Hoisting

에 대해 적어보겠다.

const를 면접에서 물어보면 쉽게 대답할 수 있다 상수(변하지 않는 것)를 만드는 것이다.
하지만 let과 var의 차이를 물어본다면 조금 버벅된다.
그래서 공부했다.

2015년에 자바스크립트가 완전 업그레이드를 했다(ES6로 업데이드했다.)
그때 나온게 let이다
var가 문제가 있었으니 let이 나온거다

자바스크립트에는 특이한 특징이 있다
var name = "lee"
var age = 18
코드가 실행이 되기 전에 먼저 자바스크립트 엔진이 "선언해둔 변수 어디있냐?"라고 체크를 한다.
name 있고 age있고 다 조사를 한다.
선언된 변수와 함수를 가져가서 메모리에 기억을 해둔다.
누가 a부르면 "야 a라는 변수 나와봐~~" 이렇게 된다.
이것이 호이스팅 개념이다.

호이스팅 : 함수가 실행되기전에 안에있는 변수들을 범위의 최상단으로 끌어올린 것.

📌알아둘것📌
전역변수 : 블락 밖에서 선언을 한 어디서든 쓰일 수 있는 변수
지역변수 : 블락 {} 안에서 선언된 변수, 블락안에서만 쓸 수 있음

var같은 경우는 함수만 지역변수로 호이스팅이 되고 나머지는 다 전역변수로 올려버린다.

let도 호이스팅이 된다.
let은 temporal death zone(TDZ)라는 개념이 있다.

배열

배열은 관련있는 데이터들을 하나로 묶어서 하나의 변수 아래에 저장하는 것,
여러개의 데이터를 하나의 변수에 담고 싶을 때 사용한다.
그리고 배연 안에 있는 것을 "인덱스"라고 부른다.

배열함수에 대해 알아보자

다양한 것들이 있지만 대표적으로

  • pop() : 배열 끝에 있는 아이템을 제거, 그 아이템값을 리턴
  • psuh("아이템") : 배열 끝에 아이템 추가, 배열의 최종 길이 리턴
  • includes("아이템") : 배열에 아이템이 포함되어있으면 true 리턴 아니면 false 리턴
  • indexOf("아이템") : 아이템의 인덱스 번호를 리턴
  • slice(시작점, 끝점) : 시작점 ~ 끝점(미포함) 까지 배열을 복사해서 리턴
  • splice(시작점, 개수) : 시작점부터 개수만큼 실제 배열에서 아이템 제거
  • length : 배열 함수느 ㄴ아니지만 배열의 크기를 리턴해주는 속성

다시 처음부터 JavaScript를 공부해보니 알고 있던 부분도 있었지만 놓쳤던 부분을 좀 더 자세히 알 수 있어 좋은 시간이였다. TIL을 대충 하루 떼우는 식으로 적었었는데 이런식으로 오늘 배웠던 부분을 자세히 적는 방식으로 작성해보려고 한다.

끝.

profile
고고월드1

0개의 댓글