자바스크립트

    [JavaScript] 자바스크립트(JavaScript)의 역사

    그래픽 웹브라우저의 탄생 1993년, NCSA 사에서 현대 그래픽 웹브라우저의 시초로 알려진 모자이크(Mosaic) 웹 브라우저가 탄생했습니다. 하나의 창에 텍스트와 이미지를 동시에 출력한 최초의 웹브라우저로, 당시 컴퓨터를 잘 모르는 사람들도 쉽게 쓸 수 있는 UI 요소가 더해져 있었습니다. 이 모자이크 웹브라우저의 개발팀을 이끌던 Marc Andreessen은 대학교를 졸업함과 동시에 Nescape라는 회사를 설립하게 됩니다. 1994년 Marc는 모자이크 웹브라우저 기술을 발전시켜 조금 더 UI요소가 더해진 Netscape Navigator 브라우저를 만듭니다. 이 당시에는 HTML과 CSS로 정적인 웹사이트 밖에 만들 수 없습니다. page와 page 에 링크를 걸어서 페이지 이동만 가능한 정말 ..

    [Javascript] 호이스팅(Hoisting)이란?

    호이스팅(Hoisting)이란? - 함수 안에 있는 선언을 모두 끌어올려서 해당 함수 유효 범위의 최상단에 선언하는 것을 의미한다 - 자바스크립트 함수는 실행되기 전에 함수 안에 선언된 변수값을 모아서 최상단에 선언한다. - 따라서 변수를 어느 위치에 선언하든지 함수의 가장 위로 끌어올려져서 실행된다. 실행순서: 1. 자바스크립트 Parser가 함수 실행 저 해당 함수를 한 번 훑는다 2. 함수 안에 존재하는 변수/함수선언에 대한 정보를 기억하고 있다가 먼저 실행시킨다. 주의사항: - 유효범위: 함수블록 {}안에서 유효 - 실제로 코드가 끌어올려지는 건 아니며, 자바스크립트 Parser 내부적으로 끌어올려서 처리한다. - 실제 메모리에서는 변화가 없다. 호이스팅 대상 var 로 선언된 변수와 함수선언문만..

    [Javascript] var, let, const 차이

    자바스크립트에서 변수를 선언할 때 var, let, const가 쓰이는 것을 자주 보았을 것이다. var 는 선언 방식에 있어서 큰 단점을 가지고 있다 var name = 'Jaehyung' console.log(name) // Jaehyung var name = 'Dayoung' console.log(name) // Dayoung 위 같은 코드를 작성했을 시, 이미 선언된 변수를 다시 선언했음에도 불구하고 에러가 나오지 않고 각각 다른 값이 출력된다. 변수를 유연하게 사용하기에는 좋을 수 있으나, 코드가 길어지고 변수가 많아지면 초기에 선언된 값이 바뀌면서 코드에 큰 영향을 끼칠 수 있다. 따라서 ES6 이후에 이를 보완하기 위해 let과 const가 추가됐다 let name = 'Dayoung' co..