유블로그

[JavaScript] 변수범위, 데이터타입, 함수, 문자열 본문

JavaScript & jQuery

[JavaScript] 변수범위, 데이터타입, 함수, 문자열

yujeong kang 2020. 9. 20. 12:44

1.  데이터타입

자료형 typeof 출력값 설명
숫자형 number 정수 또는 실수형
문자열형 string 문자, '' 혹은 "" 로 표기
boolean형 boolean true or false
undefined undefined 변수가 선언 되었지만 초기화 안 된 상태
null object 값이 존재하지 않을 경우

- number

  • 정수/실수 구분 없음
  • 모든 숫자를 8byte의 실수 형태로 처리
  • 특정 소수점 정확하게 표현하지 못함.(부동소수점 오류) 

- string

  • 16비트 unicode 문자열 사용
  • char 없음. 한 글자도 문자열이다.
  • '' 혹은 "" 로 사용가능. 혼용 불가

 

2. 상수

  • ECMAScript6 부터 const 가 추가되어 값을 변경하면 에러가 난다.
  • 표기법은 모든 문자를 대문자로, 단어 사이는 _ 로 표기한다.
  • ex) NUM_COUNT

 

3. 변수 범위 : let, const, var

키워드 구분 선언위치 재선언
var 변수 전역 스코프 가능
let 변수 해당 스코프 불가능
const 상수 해당 스코프 불가능
function f() {
      {
	var val = 10;
//      let val = 20;		// error : Indentifier 'val' has already been declared.
        const con = 10;		
//      con = 20;			// error : Assignment tot constant variable.
      }
      
      {
	alert(val);			// 다른 스코프에서도 사용 가능
//      alert(con);			// error : con is not defined. -> 다른 스코프에서 사용 불가능
      }
      
      alert(val);				// 다른 스코프에서도 사용 가능
}

 

 

4. 함수

- 선언, 호출

  • 함수는 자바스크립트에서 일급객체
  • 함수를 변수, 객체, 배열 등에 저장할 수 있고 다른 함수에 전달하는 전달인자(콜백함수) 또는 리턴 값으로 사용가능
  • 프로그램 실행 중에 동적으로 생성 가능
  • 함수 선언문, 함수 표현식, function 생성자 함수 세가지 방식 제공

  • 함수 호출 시 정의된 매개변수와 전달인자 개수가 일치하지 않더라도 호출이 가능하다.
  • ex) function print(x, y) {} 있을 때 print(1, 2, 3) 해도 실행됨

 

5. 문자열 연산

- 문자열 합치기

let str1 = "a";
let str2 = "b";

let str = str1 + str2;       // ab
let numStr = '123';
let str = '값 : ' + numStr;    // 값 : 123

- 문자열 비교

let str1 = "a";
let str2 = "b";

console.log(str1 == str2);         // false