-
Semantic Tag, 반복문 정리 및 복습프론트앤드/[JavaScript] 2023. 7. 14. 21:55728x90
너무떨리는 마음에 ...!
웹개발의 기본적인 기본인 HTML과 CSS 문제에 명확하게 정리해서 답을 못한것 같아서
이렇게 정리하는 시간을 가져보습니다.
Semantic Tag 란?
의미를 부여한 태그라는 뜻으로, 쉽게 말하면 <div/> 태그에 의미를 부여한 <header/> 혹은 <footer/> 같은 태그들을 말합니다. 이렇게 이름만 봐도 상단과 하단이라는 것을 알 수 있으며, 시맨틱 태그의 등장으로 태그만 보고서도 문서를 더 쉽게 이해할 수 있게 되었습니다.
<div> 태그를 활용하여 웹 문서를 만들 수 있지만, 시맨틱 태그를 사용해야 하는 이유 ?
1. HTML 문서의 가독성과 유지보수가 쉬워지기 때문입니다.
2. 웹 브라우저가 HTML만 보고도 상단(header), 본문(main), 하단(footer), 사이드(aside) 어느 영역인지 쉽게 알 수 있고, 이는 웹 접근성 시각에서 볼 때도 중요하게 쓰입니다.
ex) 시각장애인들이 사이트를 사용할때 사용되는 화면의 텍스트를 읽어주는 스크린 리더기 활용
3.검색엔진이 검색을 수행할 때 HTML 내의 태그를 분석할 수 있습니다.
ex) <article> : 재배포 할 수 있는 콘텐츠로 인식합니다. <-> <section> : 재배포를 금지하는 콘텐츠로 인식합니다.
시맨틱 태그의 종류
태그 설명 <header> 사이트의 머리부분에 사용 <main> 메인 콘텐츠를 나타내는데 사용 <section> 제목별로 나눌 수 있는 문서의 콘텐츠 영역을 구성하는 요소 <article> 개별 콘텐츠를 나타내는 요소 <aside> 좌우측의 사이드 영역 <footer> 사이트의 바닥부분, 주로 연락처나 제작자 정보등을 기술하는 부분 <hgroup> 제목과 부제목을 묶어서 나타내는 요소 <nav> 웹 페이지 메뉴를 만들 때 사용 참조 : https://coding-factory.tistory.com/883
자바스크립트가 지원하는 반복문의 종류와 설명
map도 배열전체를 순회하면서 반복문처럼 이용해도 되는줄 알았어서 오늘 반복문 예시로 들었는데, 잘못 설명드린것이라고 생각하여 다시 정리해 보았습니다...! ㅠ
1. for문
: for 반복문은 어떤 특정한 조건이 거짓으로 판별될 때 까지 반복합니다.
for ([초기문]; [조건문]; [증감문]) 문장
while과는 달리 자체적으로 초기식, 증감식을 모두 포함하고 있는 반복문입니다.
따라서 while 문 보다는 좀 더 간결하게 반복문을 포현할 수 있습니다.
또한, 쉼표 연산자(,) 를 사용하면 여러개의 초기식이나 증감식을 동시에 사용할 수도 있습니다.
실행순서
1.초기식
2.조건식
-> 조건식이 truthy이면 명령문 실행
-> 조건식이 falsy이면 반복문 실행종료
3. 조건식이 truthy이고 명령문이 실행되었다면 증감식
4. 다시 조건식
-> 조건식이 truthy이면 명령문 실행
-> 조건식이 falsy이면 반복문 실행종료
5. ... 무한반복2. for ...of 문
: 반복 가능한 객체를 순회하는 문법입니다.
const a = [1, 2, 3] a.forEach((item) => console.log(item)) // 1 2 3 출력 a.forEach((item, index) => console.log(item, index)) // 1, 0 // 2, 1 // 3, 2
반복 메소드
1. forEach()
: forEach 안에는 callback 함수를 지정할 수 있습니다.
이 콜백함수에는 총 3가지의 인자 (해당하는값, 인덱스, 배열) 를 전달 할 수 있습니다.
2. map()
: 기존 배열은 건드리지 않고, 순회 후 필요한 것들을 return 하여 새로운 배열을 만듭니다.
forEach와 동일하게 callback 함수를 적용하고 3개의 인자를 동일하게 전달합니다.
const a = [1, 2, 3] const b = a.map((item) => item*item) console.log(b) // 1, 4, 9
3. filter()
: 배열을 순회하며 조건에 만족하는 원소들로 이루어진 새로운 배열을 만듭니다.
forEach와 동일하게 callback함수를 적용하고 3개의 인자를 동일하게 전달합니다.
const a = [1,2,3,4,5,6,7] const b = a.filter((item) => item < 5) console.log(b) // 1 2 3 4 출력
참조 : https://velog.io/@blacksooooo
*별도
반복문 종료방법(break, continue, return)의 차이점
- break : 반복문을 실행하다 break문을 만나면 반목문은 그 즉시 실행은 멈추고 반복문은 종료됩니다.
function addNum() { let sum = 0; for(let i=1; i<51; i++) { if(sum > 100) { break; } sum += i; } console.log(sum); // 1275 -> 105 } addNum();
위 함수는 1부터 50까지의 수를 모두 더하는 함수입니다.
1부터 50까지 더하면 1275가 출력되어야 하지만,
sum이 100보다 커지는 순간 break문을 만나 반복을 종료하게 되었습니다.
- continue : 특정 조건이 주어졌을 때 그 조건이 만족하는 값을 만나면 명령을 건너뛰고 다음으로 넘어갈 때 씁니다.
function addNum() { let sum = 0; for(let i=1; i<51; i++) { if(i % 2 === 0) { continue; } sum += i; } console.log(sum); // 625 } addNum();
1부터 50까지의 숫자 중 홀수만 더하는 코드입니다.
i를 2로 나눴을 때 나머지가 0이라면 그 숫자는 짝수이므로
continue문을 사용하여 명령을 실행시키지 않고 건너뛰도록 만들어준 것 입니다.
만약, (i % 2 === 1)이라는 조건을 주었다면 짝수만 더하고 출력되었을 것 입니다.
- return : 반복문을 종료시키기도 하지만 함수 자체를 종료시킵니다.
function addNum() { let sum = 0; for(let i=1; i<51; i++) { if(sum > 100) { return; } sum += i } console.log(sum) } addNum()
sum이 100보다 커지는 순간, 반복문뿐만 아니라 addNum이란 함수 자체를 종료시킵니다.
그러므로 console창에는 아무 값도 출력되지 않게됩니다.
참조 : https://im-developer.tistory.com/69
728x90'프론트앤드 > [JavaScript]' 카테고리의 다른 글
[프로그래머스 코테] N보다 커질 때 까지 더하기 (1) 2024.01.12 면접질문중 헷갈렸던것 (프로토콜,SSR,CSR,브라우저 저장소,콜백 함수,GET) (0) 2023.07.14