- 변수 -
1. 변하지 않는 값은 const
2. 변할 수 있는 값은 let 으로 선언
3. 변수는 문자와 숫자, $와 _만 사용
ex) const MY_HOME = "~"; let_ = 1; let $ = 3;
4. 첫글자는 숫자가 될 수 없다
ex) let 1stGrade = 'A+';
5. 예약어는 사용할 수 없다
ex) let let = 99;
6. 가급적 상수는 대문자로 알려준다
ex) const MAX_SIZE = 99;
7. 변수명은 읽기 쉽고 이해할 수 있게 선언
ex) let a = 1;, let userNumber = 3;
- 대화상자 -
- 단점
(1). 스크립트 일시 정지
ex) 유튜브를 보고 있는데 잠시 멈추고 alert 창에 입력 값을 받는다
(2). 스타일링이 불가능하다
1. alert (알려줌)
* 메세지를 띄우고 사용자가 확인 버튼을 누르기 전 까지 계속 보여준다
* 상호작용 이라기 보다는 알리는 용도
2. prompt (입력 받음)
* 사용자에게 어떤 값을 입력 받을때 사용(문자형)
* default 값을 입력할 수 있다(무언가를 안내할 때 유용하다)
* 두개의 인수를 넣을수 있다
ex) const name = prompt("예약일을 입력해주세요.", "2020-10-");
3. confirm (확인 받음)
* 사용자에게 어떤 값을 확인 받을때 사용
ex) const isAdult = confirm("당신은 성인 입니까?");
- 형변환 -
1. String() -> 문자형으로 변환
2. Number() -> 숫자형으로 변환
* true 와 false 는 1 과 0 의 값을 갖는다
* 숫자가 아닌 문자가 포함되 있다면 NaN 이 된다
ex) Number("55") // NaN, Number(null) // 0, Number(undefined) // NaN
3. Boolean() -> 불린형으로 변환
- 조건문 -
1. if
* 괄호안의 조건이 참인 경우 실행
* else, else if 를 활용하여 여러 조건을 줄수 있다
- 반복문 -
1. for
* for ( let i = 0; i < 10; i++ ) -> 초기값, 조건, 코드 실행 후 작업으로 작성한다
2. while
* let i = 0;
while ( i < 10) { } -> 조건, 괄호 안의 작업으로 작성한다
3. do.. while
* let i =0;
do { "코드", i++; } while ( i < 10 ) -> 괄호 안의 작업, 조건으로 작성한다
* while 이랑 다르게 적어도 작업이 먼저 수행되고 조건을 보기때문에 적어도 한번 이상은 실행한다
4. break, continue
* break : 멈추고 빠져나온다
continue : 멈추고 다음 반복으로 진행한다
5. switch
* switch(평가) {
case A :
// A일때 코드
case B :
// B일때 코드
} 이런식으로 작성한다
* break 을 만나면 빠져 나온다
- 함수 -
1. function
* function sayHello (name) { } -> 함수, 함수명, 매개변수, 괄호 안의 작업으로 작성한다
* 한번에 한작업에 집중
* 읽기 쉽고 어떤 동작인지 알 수 있게 네이밍
2. 화살표함수
* const add = (num1, num2) => (num1 + num2;);
* function을 생략하고 => 로 사용
* return 문을 중괄호가 아닌 일반괄호로 바꿔서 사용 가능하다
* 한 줄일 경우에는 일반괄호도 생략 가능하다
* 일반 함수와는 달리 자신만의 this를 가지지 않는다
* 화살표 함수 내부에서 this를 사용하면, 그 this는 외부에서 값을 가져 온다
3. 함수 선언문 vs 함수 표현식
* 작성방법이나 실행방식, 동작방식 동일하다
* 함수 선언문 : 어디서든 호출 가능하다
(1) 자바스크립트는 실행되기 전 모든 함수를 찾아서 생성해둔다 (호이스팅 / hoisting)
(2) 사용 가능 범위가 넓다
* 함수 표현식 : 코드에 도달하면 생성
(1) 한줄씩 읽으면서 수행
(2) 코드에 도달해야 생성이 된다
(3) 그이후에 사용 가능하다
'WEB > Javascript' 카테고리의 다른 글
DOM 이란 (0) | 2022.08.29 |
---|---|
Javascript(렉시컬 환경, 클로저) (0) | 2022.04.25 |
Javascript(구조 분해 할당, 나머지 매개변수, 전개 구문) (0) | 2022.04.17 |
Javascript(호이스팅, 생성자) (0) | 2022.04.04 |
Javascript(Object, method, array) (0) | 2022.04.01 |