JAMONGPROJECT

220418 본문

Challenge/엘리스 SW Engineer 2기

220418

JAMONGPROJECT 2022. 4. 18. 17:43

JAVASCRIPT 

 

- 객체(object) 기반 스크립트 언어

- 인터프리터란?

소스 코드 -> 컴파일러(통째로 바꿈) -> 기계어 -> 실행

소스코드 -> 인터프리터(한줄씩 기계어로 변경) -> 실행

 

컴파일러 언어(C,JAVA)는 하나만 오류가 나도 통째로 에러가 나지만

인터프리터 언어(Python,SQL)는 오류가 난 줄 앞까지는 실행이 가능.

 

ES(ECMAScript) : 국제 표준 스크립트

ES5 (2009년)  -> ES6(2015) 스마트폰이 등장함으로서 많은 것이 변함

 

인라인 방식 (잘 안씀) 

- 정해진 속성 값 안에 입력

- 짧은 내용을 작성할 때 사용

- 주로 함수를 호출하는 방식을 이용

 

내부 방식 

- script 태그 내에 작성한다.

- 아무데나 넣을 수 있음

- 코드가 읽힐 때 실행되므로 위치를 어디에 두느냐가 중요함

 

외부 방식

-<script src="#"></script> 로 불러옴

-순서에 주의할것

 

디버깅 방법

-개발자 도구 -> console

-debugger

 

호이스팅?  : 변수/함수 선언만 제일 위로 끌어올려진것처럼 보이는 현상

 

var ex1 = 10;               ->    var ex1;

var ex2 = 20;                      var ex2;

                                       ex1 = 10;

                                       ex2 = 20;

 

var 는 선언되는 순간 undefined 으로 선언됨

let은 선언되어도 값이 존재하지않음. 그래서 선언 없이 변수를 먼저 쓰면 에러 발생

 

- 템플릿 리터럴 ` ` (백틱사용)

 

${} 를 중간에 넣어줌으로써 str 문장 사이에 변수를 집어넣을수있다.

`제 나이는 ${age} 입니다`

 

긴 줄을 쓰려면 \로 나눠서 쓴다.

긴 줄은 \

이렇게 쓰셔야\<- 공백 없어야함

합니다.   -> 줄바꿈이 되지는 않음.

 

- 함수

코드를 블럭화 하기위해 사용

 

if

else 부분을 통해서 기본값을 지정한다. (조건이 실행되지 않았을경우를 고려)

 

continue; -> continue가 나오는 순간 다음 반복 (증가/감소)로 넘어감

break; -> break가 나오는 순간 반복문을 종료

 

 

- event

 

target.onclick <- 변수

 

target.addEventListerner() <- 함수라서 중복사용가능

 

이벤트 따로 공부해보기

 

bubbling

 

이벤트가 하위 계층에서 상위 계층으로 전파되는 현상

 

이벤트가 중복 실행될때 캡쳐링, 버블링을 의심할수있다.

 

DOM = Document Object Model -> html 구조를 도식화 한것.

 

DOM 요소 접근

 

document.getElementById()  -> Element's' 아님 / 나머지는 다 s 붙음

-> document(전체)에서 id로 찾는다. 

 

querySelector() -> 제일 처음 나타나는 1개 요소만 찾음

querySelectorAll() -> 모든 요소 다 찾음

 

DOM 요소 생성

 

let newElem = document.createElement("div"); -> div 요소를 만듬

let newText = document.createTextNode("안녕하세요?") text 노드를 만듬

 

newElem.appendChild(newText); 자식 노드로 텍스트 노드를 추가.

 

let ex1 = document.getElementById("ex1");

ex1.appendChild(newElem); ex1 요소 아래 새 div를 삽입

 

<=> removeChild

 

console.log(ex1.innerText); -> ex1 태그의 Text를 가져와서 출력한다

ex1.innerHTML -> ex1태그 하위의 HTML을 가져온다

 

 

'Challenge > 엘리스 SW Engineer 2기' 카테고리의 다른 글

자동차 경주 문제  (0) 2022.04.23
220420  (0) 2022.04.20
220413  (0) 2022.04.13
첫 개별 학습 후기  (0) 2022.04.12
엘리스 SW 엔지니어 트랙 시작  (0) 2022.04.11
Comments