본문 바로가기
프론트앤드/[JavaScript]

Semantic Tag, 반복문 정리 및 복습

by 헬리이 2023. 7. 14.
728x90

너무떨리는 마음에 ...! 

 

 

웹개발의 기본적인 기본인 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