자바스크립트 동작 원리
동기적 처리를 한다. (하나하나 순서대로 처리한다)
가끔은 비동기적 처리를 한다. (setTimeout, 버튼동작, ajax 등)
Stack에서 동기적 처리를 하는데 1초 뒤 실행같은 경우는 대기실에 들려 Queue를 거쳐서 Stack에서 처리가 된다.
조코딩 Node.js 기초 https://url.kr/7pvr2s
전달방법 >
get방식은 주소창을 받는 방식
request와 response의 연속
app.get('/', ( ) => { })
서버쪽생각
get이라는 방법으로 포트에 '/'(루트라고 부른다) 이라는 창구를 찾는 다면 ( ) => { }를 해라
'/' 주소를 요청하고 함수를 보낸다
get : params, query
post : params, body
javascript
https://www.youtube.com/watch?app=desktop&v=KF6t61yuPCY&feature=youtu.be
변수> 어떤 정보에 이름을 붙혀서 사용하고싶을때
맨끝 ;는 한 줄이 끝났다는 이야기
문자는 항상 따옴표로 감싸야한다. 아니라면 에러가 날 수 도있다.
예약어: 자바스크립에서 먼저 쓰고있는 단어 ex.class
변하지 않는 값은 const(대문자로 쓰자) , 변할수 있는 값은 let
정리>
변수는 문자 숫자, $와_만 사용
첫글자는 숫자 불가능
예약어 불가능
변하지 않는 상수는 가급적 대문자로
변수명은 읽기쉽고 이해할 수 있게 선언
자료형>
문자형 string
숫자형 number
참거짓 boolean
null, undefined
--typeof 무슨 변수인지 알아볼때
대화상자>
alert() 알려줌
prompt() 입력 받기위해
confirm() 확인 받기위해
빠르고 간단하지만 단점이있음. 스크립트가 일시 정지됨, 스타일링 X
형변환> 왜 필요할까? 자료형태가 다르면 의도치 않은 result가 나올 수도
String() 문자형
Number() 숫자형
Boolean() 참거짓 (0,"",null,undefined,NaN)->false 띄어쓰기있는' '은 ture, 문자형 "0"도 ture
연산자>
+, -, *, /, %(나머지), **(거듭제곱)
+= =>
++num, num++
비교연산자> 조건문>
<, >, <=, >=, ===, != Boolean값으로 반환
if A else B : if가 ture라면 A, false면 B
논리연산자>
a||b (or)
a&&b (and)
a! (not)
실제 코드에서도 필요함 or은 앞이 ture면, and는 앞이 false면 뒤에 무슨말이와도 보질않음. ->성능 최적화
여군(7%)이면서 시력이 1.2이상(60%)이면서 운전면허(80%)를 가진 사람
->처음부터 93%를 떨굼 그 뒤는 안봄
논리연산자 우선순위
남자이고, 이름이 mike 이거나 성인이면 통과
H=여자,jane,성인
if 남자 && mike || 성인 = ture
||가 &&보다 선순위
반복문> for(명확한 횟수가 정해졌다면), while(그게 아니라면)
for (초기값; 조건; 코드 실행 후 작업)
for (let i=0; i<10; i++) {}
let i =0; --초기값
while (i <10){ --조건
i++;} --코드 실행 후 작업
break :멈추고 빠져나옴, continue: 멈추고 다음 반복으로 진행
swich = if else와 비슷함 (쓸때는 찾아보기)
함수> 중복을 줄여주기 위해
funtion 함수명(매개변수,매개변수){
함수 안에서 쓰이는 변수(지역변수)는 함수밖에서 쓸수없다
return은 값을 반환한다. 함수를 끝낼때도 쓰인다.
읽기 쉽고 어떤 동작인지 알수있게 네이밍하기
화살표함수 요즘 쓰이고있다함
객체 Object>
접근, 추가, 삭제
'age' in user 유저에 age가 있으면 true, 없으면 false
for(x in Mike)
method에서는 this를 써주자
배열 Array > : 순서가 있는 list
console.log(name);
alert(age)
prompt('생년월일을 입력하세요.','2023-01-");
confirm('삭제 하시겠습니까?')
if(user.name && user.age > 19){
console.log('성인 입니다.');
}else {
return false;
}
for(let i = 0; i <10; i++){
console.log(i);
}
function add(num1, num2){
consle.log(num1+num2)
}
const user = {
name : 'Mike',
age : 30,
}
const users = ['Mike', 'jane'];