ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Javascript 기초 (1)
    개발/JS 2021. 1. 28. 18:56

     

    참고 자료

    • 소년 코딩 자바스크립트 

    • zerocho.com 자바스크립트

    • 자바스크립트+jQuery 완전정복 스터디

     

     

    1. 변수

    변수 선언의 조건

    • 문자, $ 또는 _ 로 시작

    • 대소문자 구분

    • 예약어, 공백 사용 불가능

     

    2. 데이터 타입

    원시 타입 (Primitive type)

    • String, 문자열 : 1개의 문자나 긴 문자열을 구분하지 않는다. 

    • Number, 숫자 : 실수 형태로 지원

    • Boolean, 불린 : true, false

    • undefined, NULL : NULL은 명시적인 형태, undefined는 할당 전 암시적 형태.

    var 변수명 = 값;
    
    var myNumber = 123;
    var flNumber = 1.23;
    
    var myString = 'Flood';
    var yourString = myString + 'Nut';
    
    var tBoolean = true;
    var fBoolean = false;
    
    var undef;	//undefined
    var myNull = NULL;

     

     

    참조 타입 (Reference type) : 기본적으로 '객체(object) 형태'

    • Array, 배열 : 스택, 큐 구조로 표현 가능

    • Object, 객체 : 프로퍼티, 메서드를 가지고 있는 형태

    • Function, 함수

    var arr = [ "fl", "oo", "d"];
    var flood = arr[0];
    
    var obj = {
    	"name" : "floodnut",  //name 프로퍼티
        "study" : "javascript" //study 프로퍼티
        }
        
    function flood(parameter){
    	~~;
    } //함수 리터럴로 선언
    
    var func = function(parameter){
    	~~;
    } //함수 표현식으로 선언
    
    
    var 변수명 = new 생성자_함수();

    생성자 함수는 Array, Object, 함수명 등이 있다.

     

    typeof 연산자 : 값의 데이터 타입을 확인한다.

    • NULL은 객체(Object) 타입을 반환한다. NULL 타입을 확실하게 확인하려면 변수 선언 이후 변수 === NULL;

    • 함수는 객체의 하위 타입

    • typeof 연산자의 리턴은 문자열 형태이다.

    객체의 접근 방법

    • 객체명.프로퍼티

    • 객체명['프로퍼티'] : 예약어에 해당하는 프로퍼티도 접근 가능

    • var 변수명 = '프로퍼티명' 으로도 접근 가능

    • 객체 생성 이후에도 프로퍼티를 추가할 수 있다.

    원시 타입과의 참조 타입의 차이

    원시 타입에서의 값의 복사는 말 그대로 '값의 복사' 이지만 참조 타입에서의 복사는 '포인터의 복사'이다.

    주소를 복사한다는 의미다. 따라서 참조 타입에서 값을 변경하면 원본과 사본 둘다 값이 변경된다.

     

    또한 매개 변수의 전달에 있어서 원시 타입은 값을 복사하여 전달하여 내부에서 값을 변경할 수 없지만 참조 타입은 주소(포인터)를 전달하므로 매개변수를 전달받은 함수 등의 내부에서 참조 타입의 값을 변경할 수 있다.

     

    호이스팅

    변수의 선언이 변수의 실행보다 코드상 아래 있을 경우 선언부를 끌어올려 undefined 시킨다.

    다만 함수 표현식의 형태에서는 호이스팅이 이루어지지 않는다.

    console.log(a); //undefined
    
    var a = 'floodnut';

     

    '개발 > JS' 카테고리의 다른 글

    Node.JS - Axios를 활용한 HTTP 요청  (1) 2022.02.02
    NodeJS - Express 웹 서버 구성 (1)  (0) 2021.02.14

    댓글

Designed by Tistory.