유튜브 Javascript 개념 공부

신동윤·2023년 1월 15일
0

자바스크립트 동작 원리

동기적 처리를 한다. (하나하나 순서대로 처리한다)
가끔은 비동기적 처리를 한다. (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'];

0개의 댓글