Programming Study/JavaScript 9

[JS 기초 Day 4] 함수 표현식, 화살표 함수

함수 선언문: 어디서든 호출 가능 자바스크립트는 인터프리터 언어임! *인터프리터 언어: 위에서 아래로 순차적으로 읽으며 실행됨 sayHello(); function sayHello(){ console.log('Hello'); } 근데 위의 코드는 실행됨 // 결과=Hello 어떻게? 자바스크립트 내부 알고리즘에 의해, 실행 전 코드의 모든 함수 선언문을 찾아 생성해 둠 -> 호이스팅(hoisting)이라 함 함수 표현식: 코드에 도달하면 생성 한 줄씩 읽으면서 실행하고 해당 코드에 도달했을 때 비로소 생성 -> 생성 이후에만 사용 가능 let sayHello=function(){ console.log('Hello'); } sayHello(); // 결과=Hello 함수 선언문을 사용하는게 더 자유롭고 편..

[JS 기초 Day 3] 함수의 기초

[함수] (+) 1. 편리함 5 //return으로 값 반환 function showError(){ alert("에러가 발생했습니다."); return; } const result=showError(); console.log(result); 에러가 발생했다는 안내 문구의 alert 창이 뜨고 콘솔 창에는 undefined가 출력된다. 한 번에 한 작업에 집중 읽기 쉽고 어떤 동작인지 알 수 있게 네이밍 ex. showError //에러를 보여줌 getName //이름을 얻어옴 createUserData //유저데이터 생성 checkLogin //로그인 여부 체크

[JS 기초 Day 2] 논리 연산자

[논리 연산자] || (OR) : 여러 개 중 하나라도 true 면 true -> OR는 첫 번째 true를 발견하는 즉시 평가를 멈춤 && (AND) : 모든 값이 true면 true -> AND는 첫 번째 false를 발견하는 즉시 평가를 멈춤 *평가 시 순서 중요; 성능 최적화에 도움을 줌 ! (NOT) : true면 false, false면 true OR문 //OR //이름이 TOM이거나, 성인이면 통과 const name="MIKE"; const age="30"; if(name=="TOM" || age > 19 ){ console.log("통과"); } 이름이 TOM 또는 성인이면 된다는 조건 중 하나를 만족했기 때문에 "통과"가 출력된다. AND 문 //AND //이름이 MIKE이고, 성인이면..

[JS 기초 Day 2] 비교 연산자, 조건문

[비교 연산자] console.log(10>5); console.log(10 == 5); console.log(10 != 5); const a= 1; const b= "1"; //일치연산자(===)를 통해 타입까지 비교 console.log(a === b); [조건문] 어떤 조건에 따라 이후 행동이 달라지게 하는 역할 if-else, else if문 //if, else, else if //추가요구사항 //->19살이면 수능 잘 치세요 문구 출력 const age=19; if(age > 19){ console.log("환영합니다"); } else if(age==19){ console.log("수능 잘 치세요!"); } else{ console.log("안녕히가세요"); } console.log("-----..

[JS 기초 Day 1] 형 변환(Type Conversion)

[형 변환] String() : 문자형으로 변환 Number() : 숫자형으로 변환 Boolean() : 불린형으로 변환 형변환이 필요한 이유? -> 자료형이 다르면 의도치 않은 동작이 발생할 수 있음 const mathScore = prompt("수학 몇점?"); const engScore = prompt("영어 몇점?"); const result= (mathScore + engScore) / 2 ; console.log(result); 수학 90, 영어 80을 입력하고 콘솔 창에 나오는 결과를 보자 4540이라는 전혀 이상한 값이 나온다. prompt 입력 -> 문자형이기에, 숫자 90이 아닌 문자 90으로 인식한 것 => "9080" / 2 =4540 이라는 의도하지 않은 결과 도출 *나누기는 자동..

[JS 기초 Day 1] 대화상자

[대화상자] alert: 알려줌 prompt: 입력받음 confirm: 확인받음 (-) 1. 스크립트 일시 정지 2. 스타일링 불가 (+) 빠르고, 간편! //alert: 알려줌 const name="mike"; alert(name); //prompt: 입력받음 const name = prompt("이름을 입력하세요."); alert("환영합니다." + name + "님"); //백틱(`) 사용 const name = prompt("이름을 입력하세요."); alert(`안녕하세요, ${name}님, 환영합니다.`); *prompt의 두 번째 인수를 통해 입력받을 default 값 설정 가능함 //인수 2개 설정해 default 값 넣어줌 const name = prompt("예약일을 입력하세요.","20..

[JS 기초 Day 1] 변수, 자료형

[변수] 문자= 항상 따옴표로 감싸줄 것 *예약어를 변수로 사용하면 오류가 날 수 있음 name="Mike"; age=30; 위와 같이 변수 선언하면 위험함! -> 변수 명이 유일하다는 보장 없음 -> 중복 될 경우 마지막에 선언된 변수로 덮히는 문제가 발생 => let 또는 const를 사용하자 let : 변화 가능 const : 절대 바뀌지 않는 상수(수정 x) *모든 변수를 const로 선언 후 변경 여지 있는 변수만 let으로 바꿔주자 [자료형] const name="Mike"; //문자형 const age=30; //숫자형 const PI=3.14; const name1="Mike"; const name2='Mike'; const name3=`Mike`; const message="I'm a b..