원철연 교수님 강의 메모
[참고 사이트]
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference
https://www.w3schools.com/js/default.asp
1. JavaScript
- 객체 기반의 스크립트 프로그래밍 언어
- 웹 브라우저 내에서 사용
- 하이브리드
1) 장점 :
단순함, 빠른 속도, 상호 운용성
2) 단점 :
소스 코드 접근이 쉬움 (보안 문제 발생 소지), 에러 처리 및 디버깅 어려움, 브라우저 지원.
2. Caniuse (https://caniuse.com/)
3. 데이터
1) 데이터 타입
기본 데이터 타입 (primitive data type)
참조형 데이터 타입 (reference date type)
2) 데이터 저장
변수 : 변하는 값
상수 : 변하지 않는 값
4. VSC
5. var, 적용범위, let
1) var
2) 적용범위
hello는 sayhello 함수블럭안에, 정의된 함수 실행.
uncaught referenceerror : 지역변수 console.log 적용 안됨.
3) let
빨간줄 에러메시지 표시
6. 변환 (Conversion)
- console.log();
- 한 데이터 타입에서 다른 데이터 타입으로 바꾸는것
- DB 저장전 filtering
1) 암시적 변환 (Implicit conversion)
2) 명시적 변환 (Type conversion)
(교수님 명언 : 매일매일 새로우면 안되고 익숙해져야됨..)
3) 형변환 필요
string(number) 넘버변수를 스트링으로 타입표시 (데이터 타입 바뀜)
object를 스트링으로 바꿈.
bool_value : 문자열
7. 숫자 데이터 변환
- consolo.log
1) Number
undefined : NaN
Null : 0
true : 1
false : 0
String : 0, flotating-point 값, inteager값, NaN
undefined : 숫자형, NaN
null : 0
true : 1
false : 0
공백제거 1234
부동소수점 : 그대로 표시
0xf : 16진수 (15까지) 15=f
문자열 형태 : 알 수 없음.(NaN)
2) parselnt
3) Boolean
console.log(BooLean())
true
false
8. 주석 (Comments)
- 가독성
- 코드 설명
9. 연산자 (Operators)
연산자를 해야하는 이유 : 저장된 데이터 비교. (T/F), 산수, 값 할당.
1) 산술 연산자
2개의 변수를 가지고 연산
2개의 변수 선언
증가 : ++
감소 : --
지수 (exponentiaion) : **
Mathml
2) 할당 연산자
3) 비교 연산자
document.write("()비교:"()+linebreak);
결과는 T/F
코드표에 따라 적용 (아스키코드)
대소문자 불일치
서로 다르니?
4가 더 크니?
4가 더 작니?
서로 값이 같니? 자바안에서 형변화 (따움표) ==그대로 비교
따움표는 원래 문자열이라 ===(데이터 타입)
4) 논리 연산자
5) 조건 연산자 = 3항 연산자
[예제를 통한 연습]
p1값
GPT제안
p2값
10. 흐름 제어
- flow_control
- 위에서 아래로 코드를 실행
- 첫번째 줄에서 시작하여 마지막 줄에서 종료
1) condition
2) if-else
[예제]
3) else if
if(condition1) {
실행할 코드1;
}
else if(conditon2) {
실행할 코드2;
}
else if(conditon3) {
실행할 코드2;
}
...
else {document.write('');}
[예제]
4) switch
가독성 좋음
null이 아닐경우에만 inputData
논리 연산, 조건걸기
11. for
- 조건이 T인 동안 계속해서 특정 작업(code block)을 반복.
- 루프(loop)가 시작되기 전에 실행
[예제 1]
일주일에 3번 수업, 한달에 외우는 총 단어 수 계산.
document.write
조건이 T인동안 계속 특정 작업을 반복. 루프(loop)가 시작되기 전에 실행되는 부분으로 초기화 코드를 정의. 반복조건 (T)일경우 코드 블록 (code block)을 반복.