1. scope :변수에 접근할 수 있는 범위
- 지연 변수는 블록문 내에서만 유효하다
** scope는 global(전역)과 local(지역) 2가지의 타입이 있다.
- global scope : 전역에 선언되어 어느곳이든 해당 변수에 접근할 수 있다
- local scope : 함수 내부에만 영향을 주며, global scope처럼 전역에 접근 할 수 없다!
2. const : 변하지 않는 값
<script>
// 상수
const pi = 3.14; //원주율
var radius = 0; //반지름
</script>
1) var, let, const의 차이점
- var는 함수 레벨 스코프이고, let, const는 블럭 레벨 스코프이다.
- var로 선언한 변수는 선언 전에 사용해도 에러가 나지 않지만, let, const는 에러가 발생한다.
- var는 이미 선언되어있는 이름과 같은 이름으로 변수를 또 선언해도 에러가 나지 않지만 let, const는 이미 존재하는 변수와 같은 이름의 변수를 또 선언하면 에러가 난다.
- var, let은 변수 선언시 초기 값을 주지 않아도 되지만 const는 반드시 초기값을 할당해야한다.
- var, let은 값을 다시 할당할 수 있지만 const는 한번 할당한 값은 변경할 수 없다(단, 객체 안에 프로퍼티가 변경되는 것까지는 막지 못한다.)
*** var의 경우 호이스팅이 될 때 초기값이 없으면 자동으로 undefined를 초기값으로 메모리를 할당하여 에러가 발생하지 않지만 let, const의 경우 호이스팅이 될 때 초기값이 없다면 자동으로 할당이 되지 않는다.(문법 에러 발생)
3.연산자
1) typeof 연산자 : 어떤 자료형인지 확인하는 연산자
- typeof가 반환하는 값
(string) (number) (boolean) (object) (function) (undefined)
2) 논리연산자
연산자 | 구문 | 설명 | 예시 |
||(OR) | exp1 || expr2 | or 연산자 하나라도 참이면 참을 변환한다 |
var hour = 9; if(hour < 10 || hour > 18) alert('영업시간이아닙니다') |
&&(AND) | expr1 && expr2 | and 연산자 둘다 참일 경우, 참을 반환한다 |
var hour = 12; var min = 30; if(hour == 12 && min ==30) console.log("12시 30분 입니다") |
! | !ture, !false | 논리 부정 연산자 | true 이면 false false이면 ture를 반환한다 |
3) 삼항 연산자
연산자 | 구문 | 설명 | 예시 |
- | 조건? 값1 :값2 | 삼항 연산자 | var statue = (age >= 18)? "adult":"minor" |
4. 제어문 : if문, else
<script>
if(조건식){ //statement1
} else if(조건식){ //statement2
} else { //statment3
}
</script>
- if 안에 있는 조건식이 참인 경우 해당하는 if문, else if문을 실행한다
- 조건문(if, else if)에 모두 해당하지 않으면 else에 있는 statment3이 실행된다
- else if에는 객수 제한이 따로 없다
** if문은 중첩이 가능하다
1) 조건식 거짓으로 취급하는 값
- false
- undefined
- null
- 0
- NaN
- the empty string("")
2) 조건문에서 사용할 수 있는 비교 연산자
===, !-- | 한 값이 다른 값과 같거나 다른지 판단한다. |
<, > | 한 값이 다른 값보다 작은지 큰지 판단한다. |
<=, >= | 한 값이 다른 값보다 작거나 같은지, 크거나 같은지 판단한다. |
'웹 > JAVA SCRIPT' 카테고리의 다른 글
[코딩 공부_88] 객체(object), 프로퍼티(property), 메소드(method) (0) | 2021.06.03 |
---|---|
[코딩 공부_87] for문, switch문 (0) | 2021.06.03 |
[코딩 공부_85] Return에 대하여 (0) | 2021.05.30 |
[코딩 공부_84] function과 parameter (0) | 2021.05.27 |
[코딩 공부_83] JS 첫걸음, 기초 공부 (0) | 2021.05.26 |
댓글