<script src="~~" defer>
문장(statement) : js 코드 실행 단위
변수 : 값을 저장하는 영역 , 저장된 값을 재사용
의미를 부여해서 변수 이름 작성해야함 = 시멘틱(sementic)
var book = "책", point = 123; // 한문장에서 다수의 변수 선언 가능
var book = "책",
point = 123; // 다음 문장에 선언 가능
/** 코드 */
// 코드
console.log() : 브라우저 콘솔 창에 값 출력
js는 정수,실수 구분하지 않음
상수 : 변경할 수 없는 값 영문 대문자 사용
var ONE = 1; // 값은 바꿀 수 있지만 상수로 사용한다는 시맨틱 선언
종류 : Undefined, Null, Boolean, String, Number, Object
형태 : var value = 123; // 숫자
var value = "sports" // 문자
console.log(typeof point)
Number 타입의 특수한 값
NaN : Not-a-Number
Infinity : 양수 무한대
-Infinity : 음수 무한대
' 책, "123" ' or " 책, '123' " // ' "" ' or " '' "
"123"
값 : undefined
값 : null
undefined 과 null 차이 : undefined는 단순히 변수만 선언
null은 의도적으로 null 값을 할당한 것
값 : true, false
Object 타입 : {name : value} 형태
프로퍼티 : name과 value 하나를 지칭
Object 는 0개 이상의 프로퍼티 집합
Primitive 타입 : js 기본 데이터 타입
== 연산자 : 왼쪽과 오른쪽 값이 같으면 true,
다르면 false 타입은 비교하지 않음 1과 "1"이 같음
=== 연산자 : 왼쪽과 오른쪽의 값과 타입이 모두 같으면 true,
값 또는 타입이 다르면 false
!== : 값과 타입이 모두 다르면 true, 아니면 false!
val value;
console.log(value == null);
console.log(value === null);
✍🏻 결과
true // 둘 다 값이기 때문에
false // 타입이 다르기 때문에
var value, zero = 0, two = 2;
console.log(value || zero || two)
✍🏻 결과
2 // value : undefined, zero : false , two : true
true가 아니라 true가 되는 변숫값을 반환
2가 true이므로 전체 비교는 true
var value, zero = 0
console.log(value || zero)
✍🏻 결과
undefined // 마지막까지 비교하였는데 모두가 false면
마지막 변숫값 반환
var one= 1, two=2;
console.log(one && two)
✍🏻 결과
2 // 모두가 true면 마지막의 2를 반환
var one=1, zero = 0;
console.log(one && zero && nine)
✍🏻 결과
0 // 1. one 변수 값이 1이므로 true. true 이므로 오른쪽 비교
2. zero 변수 값이 0이므로 false false이므로
오른쪽을 비교하지 않고 zero 변수 값인 0 반환
3. nine을 비교하면 nine 변수가 없으므로 에러 발생
하지만, zero에서 false가 나왔으므로 비교하지 않음
유니코드 : 세계의 모든 문자를 통합하여 코드화
코드 포인트 : 문자열을 대표하는 정수값
문자열에 할당된 코드 값 (1문자 1코드)
UTF : 유니코드의 코드 포인트를 매핑하는 방법
debugger : debugger 위치에서 실행 멈춤
브라우저의 개발자 도구 창이 열려 있을 때만 멈춤
열려 있지 않으면 멈추지 않음
throw : 명시적으로 예외 발생시킴
try {
throw "예외 발생시킴";
var sports = "스포츠";
}catch(error){
console.log(error);
console.log(sports);
}
✍🏻 결과
예외 발생시킴
undefined // "스포츠"가 할당되지 않았기 때문
try {
throw{
msg : '예외 발생시킴',
bigo : '임의의 이름 사용'
};
} catch(error){
console.log(error.msg);
console.log(error.bigo);
};
✍🏻 결과
예외 발생시킴
임의의 이름 사용
try {
throw new Error ("예외 발생시킴");
} catch(error){
console.log(error.message);
};
✍🏻 결과
예외 발생 시킴
"use strict"
try{
book = "변수 선언하지 않음"
console.log(book);
} catch (error) {
console.log(error.message);
}
✍🏻 결과
book is not defined // use strict 사용 안하면
변수 선언하지 않음 출력