HTML, CSS, JS은 웹개발에서 뗄레야 뗄수없는 언어들이다. HTML은 웹 페이지의 구조와 콘텐츠를 정의하는 마크업 언어이고, CSS는 웹 페이지의 디자인과 레이아웃을 정의하는 스타일 시트 언어이다. 마지막으로 JS는 웹 페이지를 동적으로 만들고 상호작용 가능하게 하는 스크립트 언어이다.
그렇다면 각각의 확장된 버전인 HTML5, CSS3, ES6에서 어떠한 발전과 변화가 일어났는지 살펴보자.
<header>, <nav>, <footer>, <article>, <section>
등의 의미론적인 시멘틱 태그 요소들이 추가되어 웹 페이지의 구조와 콘텐츠를 명확하게 표현할 수 있다.<video>, <audio>
요소가 사용이 가능해져, 멀티미디어 콘텐츠를 페이지에 쉽게 삽입이 가능하다.<canvas>
요소를 사용하여 JavaScript와 함께 그래픽을 그릴 수 있다. 이를 활용하여 게임, 데이터 시각화, 그래픽 편집 등 다양한 그래픽 콘텐츠를 구현할 수 있다. display: grid; grid-template-columns: 200px 1fr;
)display: flex; justify-content: center; align-items: center;
<i class="fas fa-heart icon"></i>
)ES6는 JavaScript의 표준 규격으로 도입된 중요한 업데이트이다. ES6는 코드의 유지보수성과 가독성을 향상시키는 데 큰 역할을 했고, 이후의 ECMAScript(스크립트 언어 규격) 업데이트들도 ES6를 기반으로 하여 JavaScript 언어를 지속적으로 발전중이다. ES6에 도입된 주요 변화는 다음과 같다.
var
외에도 let, const
를 사용해 블록 범위의 변수 선언이 가능해졌다. let은 변수 재할당 가능, const는 불가능하다.function(){}
에서() => {}
사용)import
와 export
키워드로 모듈을 가져오고 내보내기 가능)${}
) 을 통해 변수나 표현식을 문자열 내에 삽입할 수 있다.const [a, b] = [1, 2]; // 배열 디스트럭처링
const person = { firstName: "John", lastName: "Doe" }; // 객체 디스트럭처링
const { firstName, lastName } = person;
const addTwoNumber (a, b=1) => a+b
const getData = Promise((resolve, reject) => {resolve(100)}
getData().then((resolvedData) => {console.log(resolvedData)} // 100 출력
...
을 사용해 매개변수와 전개 연산자를 통해 배열, 객체를 편리하게 다룰 수 있다.const arr1 = [1, 2, 3];
const arr2 = [...arr1, 4, 5]; // [1, 2, 3, 4, 5]
깔끔한 정리 감사합니다 :)