JavaScript란
JavaScript가 실행되는 환경
JavaScript 의 소스코드 위치
소스코드 위치가 중요한 이유
ㅕㄴ수선언
var, let, const
-> 변수 선언에는 기본적으로 const를 사용하고, 재할당이 필요한 경우에 한정해 let 을 사용하는 것이 좋다.
hoisting
console.log(foo); // undefined
var foo;
console.log(bar); // Error: Uncaught ReferenceError: bar is not defined
let bar;
ㅕㄴ수는
출력
html문서에 출력

html문서의 특정 ㅜㅜㄴ에 출력
alert창
console.log 이용
연산자
ㅐ열
var emptyArray = [];
var numbers1 = [10, 30, 50, 70, 90];
var numbers2 = new Array(20, 40, 60, 80, 100);
익명함수
var calc1 = function(a, b) {
return a+b;
}
callback함수
왜 callback 함수를 사용하는가?
ㅣ동기적으로 코랙함수를 호출하는 함수의 예시
function fn_newCallBack(){
console.log("비동기적으로 호출되고 싶다.");
}
console.log("------- 호출 직전 -------");
setTimeout(fn_newCallBack, 3 * 1000); // 3초 뒤 콜백 호출
console.log("------- 호출 이후 -------");
bi동기적 테그닉이 필요한 경우
1.사용자 이벤트 처리
2.네트워크 응답 처리
-> 응답을 계속 기다린 다음에 다음 작업을 처리할 수는 없으니 비동기적으로 처리해야한다
3.파일을 읽고 쓰는 등의 파일 시스템 작업
-> 이 때도 시간이 소요되니 비동기를 쓴다는 말 같다
4.의도적으로 시간 지연을 사용하는 기능(알람 등)
-> 시간을 기다리는데 시간을 쏟고 있을 순 없으니까.. 다른 작업도 수행을 해야하니까 비동기적 처리가 필요하다
객체와 클래스
let student = {
'id': 2019101,
'name': '홍길동',
'scores': [95,80,91,85],
'getTotalScore': function() {
return this.scores.reduce((prev, curr) => prev + curr);
}
}
console.log(student.getTotalScore());
function Product(name, price) {
this.name = name;
this.price = price;
this.getInfo = function() {
return this.name + " , " + this.price;
}
}
let p1 = new Product("애플 아이폰",1000000);
let p2 = new Product();
p2.name = "삼성 갤럭시"
p2.price = 1100000;
console.log(p1.getInfo());
console.log(p2.getInfo());
class Product {
constructor(name, price) {
this.name = name;
this.price = price;
}
getInfo() {
return this.name + " , " + this.price;
}
}
let p1 = new Product("애플 아이폰",1000000);
let p2 = new Product();
p2.name = "삼성 갤럭시"
p2.price = 1100000;
console.log(p1.getInfo());
console.log(p2.getInfo());
event 목록

DOM이란?
DOM의 목적
디자인 요소 변경
document.getElementById('box1').setAttribute('style','background-color:yellow');
document.getElementById('box1').style.backgroundColor = 'yellow';
document.getElementById('box1').className = 'bgyellow';
화면숨기기
document.getElementById('box1').className = 'bgyellow';
document.getElementById('box1').style.visibility = 'hidden';
출처
https://dinfree.com/lecture/frontend/123_js_2.html#m1
https://velog.io/@bathingape/JavaScript-var-let-const-%EC%B0%A8%EC%9D%B4%EC%A0%90
https://www.hanumoka.net/2018/10/24/javascript-20181024-javascript-callback/