-
JavaScriptWEB 2021. 1. 5. 20:54
JavaScript
- 문법이 철저하지 않음
- 변수 선언할때 타입을 따로 설정 안해도 됨
- 오류가 생겨도 찾기 쉽지 않음
Node
- npm : node 패키지들을 사용할 수 있도록 관리해주는 도구
React
- npx : npm 5.2 + 버전의 패키지 실행도구
- 프로젝트 세팅
npx create-react-app [이름]
cd [이름]
npm startJS
- script 쓸때 defer 쓰면 페이지가 모두 로드되고 이후에 외부 스크립트 실행
- async 실행순서 보장 안됨
- var, let, const
- var : 유효범위 구분x. (지역, 전역 변수를 구분 할 수 없음)
- let : 특정 영역에서 지역변수로 사용할 수 있음.
- const : 값이 변경되지 않는 상수.
02. JavaScript_commnad
- if 조건문
if(조건식) { 실행문; }let month = prompt("월 입력 :", ""); if(month==1||month==3||month==5||month==7||month==8||month==10||month==12){ console.log(`${month}월은 31일 까지 있습니다.`) } else if(month==2){ console.log(`${month}월은 28일 까지 있습니다.`) } else if(month==4||month==6||month==9||month==11){ console.log(`${month}월은 30일 까지 있습니다.`) } else{ console.log(`${month}월이 맞는지 확인하세요.`) }
- switch 문
switch(변수명){ case 변수값 : 실행문 break; case 변수값 : 실행문 break; default : 기타 실행문; }switch(month){ case '1': case '3': case '5': case '7': case '8': case '10': case '12': console.log(`${month}월은 31일까지 있습니다.`) break; case '2': console.log(`${month}월은 28까지 있습니다.`) break; case '4': case '6': case '9': case '11': console.log(`${month}월은 30일까지 있습니다.`) break; default: console.log(`${month}월이 맞는지 확인하세요.`) }
- 반복문
- while 문
초기값; while(조건식){ 참일때 실행문; 증감식; }let index = 1; let sum = 0; while(index < 11){ sum += index; // sum = sum + index; index++; // index = index + 1; } console.log(`1~10 합 : ${sum}`);
- do while 문
초기값; do{ 실행문; 증감식; }while(조건식);let index = 1; let sum = 0; do{ sum += index; index++; } while(index < 11); console.log(`1~10 합 : ${sum}`);
- for 문
let sum = 0; for(index = 1; index < 11; index++){ sum += index; } console.log(`1~10 합 : ${sum}`);
for(초기값; 조건식; 증감식){ 실행문; } for(데이터 in|of 리스트 데이터){ 실행문; }
- 기타 (return - 함수종료(반환), break - 반복문 종료, continue - 뒤에 skip하고 반복문)
let sum = 0; for(index = 1; index< 11; index++){ if(index%2==0) continue; sum += index; } console.log(`1~10 홀수 합 : ${sum}`); //nested for문 for(i1 = 1; i1 < 10; i1++){ for(i2 = 1; i2 < 10; i2++){ console.log(`${i1} * ${i2} = ${i1*i2}`); } }
03. JavaScript_variable
- variables
- var : 유효범위 구분 없음
- let : 유효범위 구분 위해 사용
- const : 상수 선언. 값 변경 없이 read Only로 사용
var x; x = 6; const constVariable = 10; let globalVariable = 5; { let localVariable = 5; var y = 5; console.log("localVariable", localVariable); console.log("globalVariable", globalVariable); console.log("var x", x); console.log("var x", x); console.log("const", constVariable); } //constVariable = 100; 상수는 값 할당 안됨 //console.log("localVarialbe", localVariable; 지역변수로 선언되어있음 console.log("globalVariable", globalVariable); console.log("var x", x); console.log("var y", y); document.getElementById("data").innerHTML = "<h3>variable x= "+x+"</h3>";
- data type
- primitive (int, float, char, boolean)
- reference (Class, Array)
let intV = 10; let floatV = 10.5; let stringV = "10"; let booleanV = true; console.log("data type")
04. JavaScript_Operator
- 산술 연산자 (+, -, *, /, %)
let x = 10; let y = 20; console.log(`${x} + ${y} = ${x+y}`); console.log(`${x} - ${y} = ${x-y}`); console.log(`${x} * ${y} = ${x*y}`); console.log(`${x} / ${y} = ${x/y}`); console.log(`${y} % ${x} = ${x%y}`);
- 대입 연산자 (=)
const z = x+y; console.log(z);
- 비교 연산자 (>, <, >=, <=, !=, ===, !==)
console.log(`${x} > ${y} = ${x>y}`); console.log(`${x} < ${y} = ${x<y}`); console.log(`${x} >= ${y} = ${x>=y}`); console.log(`${x} <= ${y} = ${x<=y}`); console.log(`${x} == ${y} = ${x==y}`); console.log(`${x} != ${y} = ${x!=y}`);
- 논리 연산자 (&&, ||, ^, ~)
if((x<y) && x!=0) { console.log(`${x} < ${y} and ${x} is not 0`); }
- 비트 연산자(&, |, ~, >>, <<)
x=4; console.log(`${x} >> 2 = ${x>>2}`); console.log(`${x} << 2 = ${x<<2}`);
- 삼항 연산자 : 조건 ? 참 : 거짓
x == y ? console.log(`${x} == ${y}`) : console.log(`${x} != ${y}`);
05. JavaScript_Function
- javascript는 일급 함수
- 함수 정의 함수 호출해서 사용
- 정의
function(p1, p2, ...){ 내용; return data; }
- 호출
let functionV = function(p1,p2,...){ 내용; return data; } functionV : 함수객체 arraw function : (p1, p2, ...) => { 내용; return data; }
//함수 정의 function add(x, y){ return x+y; } //함수 사용 let sum = add(10,20); console.log("add(10,20 = ", sum); //익명 함수 let substarct = function(x, y){ return x - y; } console.log("substract(20,10) = ", substarct(20,10), typeof substarct); //arrow function let divide = (x, y) => console.log(`divide(${x},${y}) = `, x/y); divide(20,10); //함수 선언 및 실행 let multiply = ((x,y)=>{console.log(`multiply(${x}*${y} = `, x*y)})(20,10); //클로져 //함수에서 다른 함수 리턴 function makeAdder(x){ let y = 1; //makeAdder function local variable return function(z){ y = 100; // 외부함수 local variable 사용 return x+y+z; } } let add5 = makeAdder(5); let add10 = makeAdder(10); console.log(add5(2), add5); console.log(add10(2), add10); //클로져 function multi(n){ return function(){ return n *= n; } } let multi5 = multi(5); let multi10 = multi(10); console.log(multi5, multi5()); console.log(multi10, multi10()); //재귀함수 function factorial(n){ if(n === 1){ console.log('호출 끝'); return 1; } else{ console.log('호출' + n); return n*factorial(n-1); } } console.log("10!", factorial(10));
let data = 함수명 (p1, p2, ...)
'WEB' 카테고리의 다른 글
JDBC(Java Database Connectivity) (0) 2020.12.29 JSTL (0) 2020.12.23 Scope (0) 2020.12.18 표현언어 EL(Expression Language) (0) 2020.12.18 Redirect (0) 2020.11.18