---> 카테고리별로 후에 정리하겠다.
1. 용어
-표현식 : 값을 만들어 내는 간단한 코드
- 문장 : 하나 이상의 표현식이 모여 구성되는 것. 코드를 읽어 들이는 단위.
- 키워드 : 프로그래밍 언어가 처음 만들어 질 때, 의미가 정해진 단어.
- 식별자 : 이름을 붙일 때 사용하는 단어
- 변수 : 값을 저장할 때 사용하는 식별자.
- 주석 : 프로그램 코드를 설명하는 문장. 프로그램에 영향 없는 문장.
- 문자열 : 문자를 표현할 때 사용하는 자료형
- 숫자 : 숫자를 표현할 때 사용하는 자료형
- 불 : 참 거짓을 표현할 때 사용하는 자료형
2. 키워드(; 최초에 의미를 정해놓은 단어)
- JavaScript에는 28가지의 키워드가 있음.
- break, case, catch, continue, default, delete, do, else, false, finally, for, function, if, in, instanceof, new, null, return, switch, this, throw, true, try, typeof, var, void, while, with.
- 반복문과, null, void등의 기본타입, instanceof, var등의 초기화 관련 단어들이 많다.
- ECMA 6,7 을 대비해 사용하지 않도록 정해놓은 키워드가 있으므로, 찾아보도록.
3. 식별자(;이름을 붙일 때 사용하는 단어)
- 4가지 규칙
; 키워드 안됨, 숫자 시작 안됨. 특수문자 안됨("_" , "$" 제외), 공백 안 됨.
- 관례
1. 알파벳으로 된 의미있는 단어 사용
2. 대문자 시작 : 생성자 함수
3. 소문자 시작 : 변수, 인스턴스, 함수, 매소드
4. 여러 단어 식별자(이름) : 각 첫글자를 대문자로.
- 종류 ; 4종류.
뒤에 괄호 없음 + 단독 사용 = 변수 ex) input
뒤에 괄호 없음 + 같이 사용 = 속성 ex) Array.length
뒤에 괄호 있음 + 단독 사용 = 함수 ex) alert('Hello')
뒤에 괄호 있음 + 같이 사용 = 메서드 ex) Math.abs(-273)
4. 주석
1. HTML 주석 : <!-- -->
2. JavaScript 주석 : // or /* */
5. 출력
- alert("문자열")함수 이용.
alert() : 괄호안의 문자열을 경고창에 띄운다.
- 매개변수 : 함수의 괄호 안에 들어가는 것.
6. 자료형
; Javascript에는 6가지 자료형이 있다.
String, number, boolean, function, object, undefined
6.1 문자열 자료형
- "" 혹은 '' 의 따옴표 안에 넣어서 문자열을 생성.
=> 한 종류로만 일관되게 사용하자.
=> 문자열 안에 따옴표가 포함되었다면, 두 종류로 표기하기
ex) " this is 'string' "
=> 아니면 escape 문자(역슬래시)를 사용해서 표시
이스케이프 문자의 기능
|t ; 수평탭
|n ; 줄 바꿈
|' ; 작은따옴표
|" ; 큰따옴표
|| ; 역슬래시
- 문자열 연결하기.
각각 문자열 사이에 +를 이용해 연결.
6.2 숫자 자료형
; 정수, 유리수 구분 없이, 숫자라는 자료형으로 인식함.
연산자 : +, -, *, /
=> 자바는 우선 순위 고려하여 연산한다.(곱셈 먼저)
6.3. 불 자료형
<script> alert(52>273); </script>는 false를 표시한다.
<script> alert(52<273); </script>는 true를 표시한다.
비교연산자
>= , <=, >, <, ==, !=
- 문자열 자료형도 비교한다.(유니코드 값 기준)
- 불끼리도 비교한다.(true =1, false =0)
- 여러개일 경우 왼쪽부터 연산한다.
ex) alert(30>20>10)
= alert(true>10)
= alert(1>10)
= alert(false)
==> alert(30>20 && 20>10)으로 사용해야 한다.
논리연산자
NOT : !
AND : &&
OR : ||
7. 변수 (; 값을 저장할 때 사용하는 식별자)
- 사용조건 : 선언되고 값이 할당 되어야 함.
- var 키워드를 사용.
- 선언후 처음 할당을 초기화라고 표현함.
- 쉼표를 이용해 한번에 선언, 초기화가 가능하다.
ex) var radius = 10, pi = 3.14;
8. 복합대입 연산자
+= : 기존 변수에 값을 대입
시리즈로 -=, *=, /=, %= 가 있다.
9. 증감연산자
후위 연산 : 변수 ++, 변수 --
전위 연산 : ++변수, --변수
후위 : 해당 문장을 실행한 후 값을 더하라.
전위 : 해당 문장을 실행 전에 값을 더하라.
10. 변수 재선언
- 변수는 메모리 공간이라고 생각하면 된다.
; 덮어쓰는 것이다.
- 식별자로 재선언 하면 문제가 오류가 생기니까 주의하자.
11. 자료형 확인 typeof
typeof(273);을 하면 number를 return 한다.
typeof는 연산자로서, - 같이 단항연산자이다.
ex) -(-52), typeof(52)
단항연산자 : 한쪽에만 항이 있는 연산자.
12. 자료형 undefined
변수를 선언하고 할당하지 않으면, undefined 자료형이 된다.
13. 입력
- 문자열 자료형 인식.
문자열 입력 함수 prompt()
: prompt( String Message, String default)
ex) prompt("Message", "DefStr");
==> DefStr은 프롬프트가 떳을때 기본적으로 적혀있는 값이다.
=> 프롬프트 입력창을 나타난 후 받은 값을 반환한다.
=> 숫자를 입력해도 String으로 인식한다.
confirm("!@#~") 함수
: 괄호 안의 문자열을 포함하는 [확인, 취소] 선택창을 띄운다.
14. 숫자 <-> 문자 변환
; JavaScript는 자료형을 자동으로 변환한다.
+연산의 경우 문자열로 자동변환함.
alert('52'+ 273) ==> 52273
alert(52+ '273') ==> 52273
alert('52'+ '273') ==> 52273
*, /는 숫자로 자동변환
alert('52'*273) ==> 14196
- 강제 자료형 변환
Number()
String() 를 사용한다.
NaN(Not a Number)의 의미
; JavaScript로 나타낼 수 없는 문자.
JavaScript는 복소수 표현 불가.
불 자료형 변환
Boolean() = 5가지를 제외하고 true를 반환한다.
alert( Boolean(0) );
alert( Boolean(NaN) );
alert( Boolean('') );
alert( Boolean(null) );
alert( Boolean(undefined) );
일치연산자
; 비교연산자를 사용 했을 때, 원치않는 자료형 변환이 발생하는 경우.
자료형 변환을 막고, 확실한 자료형을 정하고 싶다면.
=== : 양쪽 변의 자료형과 값이 일치
!== : 양쪽 변의 자료형과 값이 다름.
ex)
alert( '273' === 273 ); => false 반환
템플릿 문자열 - ECMA6
; 표현식 결합을 편하게 만들기 위해 사용
IE에는 사용 불가능.
바벨(코드변환모듈)을 사용하면 사용가능
cf)바벨 = ECMA6을 ECMA5로 변환.
- ' ` ' 기호로 감싸서 만듦(숫자 1 왼쪽기호)
- 문자열 내부에 ${}를 사용.
ex)
alert('표현식 273 + 52의 값은 ' + (273+52) + '입니다..!');
=> alert(`표현식 273+52의 값은 ${52+273} 입니다 ...!`);
- 변수 넣어서 사용 가능.
var variable = 273;
alert(`변수 variable의 값은 ${variable}입니다. `);
let키워드/const키워드
; ECMA 6 부터 let키워드를 이용한 변수, const를 사용한 상수가 추가 됨.
var과의 차이
변수 var = 전역스코프, 재선언 가능
변수 let = 해당스코프 , 재선언 불가능
상수 const = 해당스코프 , 재선언 불가능
상수는 선언 이후 값을 변경할 수 없고, 선언과 동시에 초기화 하지 않으면 오류 뜸.
- 변수 var만 있다가 상수 개념이 추가된 이유
=> 성능 향상 때문에, 변한다는 처리를 안해도 되므로.
- let이 추가된 이유.
; var가 전역스코프라서, 시스템 자원을 낭비하고 있었기 때문.
==> 비동기함수 예제를 통해서 문제를 확인해 보자
setTimeOut() 검색.
- let과 const 재선언 막은 이유.
같은 스코프에서 재선언 하는 것은 실수일 확률이 높으므로.
'연습 > 개발언어' 카테고리의 다른 글
4. JavaScript 함수 (0) | 2022.01.20 |
---|---|
3.JavaScript 조건문, 배열 (0) | 2022.01.20 |
1. JavaScript의 전반적인 상식. (0) | 2022.01.20 |
2. JAVA 언어의 배경(작성중) (0) | 2022.01.20 |
1. OOP(객체지향프로그래밍)[작성중] (0) | 2022.01.20 |