반응형

변수다루는 법 , 변수가 스코프를 벗어났을때 사용하던 메모리를 해제시키는 방

	
//변수
/*
    var message; // message 변수가 선언되며 어떠한 값이라도 담을수있다.
    
    var message = "hi"; // hi값 저장   
    message = 100; // 유효하지만 권장 하지않는다.
    //문자 - > 숫자
    
    
    function test(){
        var msg ="hi"; //전역변수
    };
    test();
    alert(msg);//에러  : 내부함수 접근불가
    
    
    //쉼표를 이용하여 여러개의 변수선언가능
    var msg="hi" ,
        man="y",
        age=33;
    
*/

//변수 데이터 타입
/*
    에는 undefined , Null , Boolean , 숫자 , 문자열 등
    
    - typeof 연산자 사용
    
    var msg  = "some string";
    alert(typeof msg) // string
    alert(typeof(msg)) //string
    alert(typeof 100) // number

    #함수는 객체(object)로 간주
    
    
    - undefined 타입        
    
    var 를써서 변수를 정의했지만 초기화 하지않았다면 undefined 가 반환됩니다.
    
    var msg;
    alert(msg == undefined); //true
    
    #변수에 undefined 를 지정하지않는다.
    
    alert(msg); // undefined
    alert(age); // ?
    
    - null 타입
    
    var car = null;
    alert(typeof car); //object
    
    명시적으로 car 라는 변수를 아래 코드처럼 사용할수있다.
    
    if(car != null){
        //
    };
    
    undefined 는 null 에서 파생했으므로 표면적으로는 동일한 것으로 정의한다.
    
    alert(null == undefined); // ture
    alert(null === undefined); // ?
    
    위 값이 true 인것은 암시적으로 타입을 변경하였기때문이다.
    
    - 불리언 타입 ( 표참고 )
    
    해당 타입은 true , false 두개의 값만 가진다.
    
    var msg ="hi";
    var msgBoolean = Boolean(msg);
    alert(msgBoolean) // true
    
    if(msg){
      alert("value is true");   // ?
    };
    
    
    - 숫자 타입
    
    var intNum = 55; // 정수  가장많이 쓰는 형태
    var octalNum = 070; //8진법으로쓴 56
    
    부동소숫점숫자 ( 반드시 소숫점이있는 형태 )
    
    var num1 = 1.1;
    var num2 = 0.1;
    var num3 = .1; // 유효하지만 권장하지 않음
    
    
    #부동 소숫점은 정수에 비에 메모리를 2배 가량쓴다 하여 
     대단히 작거나 클경우에 "e-" 지수표기법을 쓰기도한다.
     
     var num4 = 3.125e7; // 31,250,000   3.125에 10에7자승 곱한값
     var num5 = 3e-7; 0.0000003;
    
    
    - NaN 
    
    숫자형 값 중에 NaN 값이있는데, 이 값은 숫자로 변환할 것으로 의도한 조작이 실해했을때 반환하는 값이다.
    
    NaN/10; // NaN   
    NaN/0;  // NaN
    alert(NaN == NaN); // false
    
    위에서 보여주는 고유 특성으로  ECMAScript 에서는 isNaN() 함수를 따로 제공한다 
    
    :숫자가 아닌가요
    alert(isNaN(NaN)); // true
    alert(isNaN(10)); // false 10은 숫자입니다.
    alert(isNaN("10")); // false 숫자 10으로 바꿀수있습니다.
    alert(isNaN("blue")); // true 숫자로바꿀수 없습니다.
    alert(isNaN(true)); // false 숫자 1로 바꿀 수있습니다.
    
    
    - 숫자 변환 
    : Number()  , parseInt()  , parseFloat()  3가지
    
     var num1 = Number("hi");     // NaN
     var num1 = Number("");       // 0
     var num1 = Number("00011");  // 11  
     var num1 = Number(true)      // 1;   
     
     ;정수로 값을 반환하며 가장 많이 사용
     var num1 = parseInt("1234blue");   // 1234
     var num1 = parseInt("");           // NaN
     var num1 = parseInt("0xA");        // 16진수 10
     var num1 = parseInt(22.5);         // 정수는 부동 소숫점이 없으므로 22
     var num1 = parseInt("70");         // 70
     var num1 = parseInt("0xf");        // 16진수 15
     
     
     var num1 = parseInt("313" ,10);    // 10진수로 명시할수 있다.
     
     #항상 진법 매개변수를 명시해서 에러를 예방하는게 좋다.
     
     
     var num1 = parseFloat("1234blue");   // 1234    
     var num1 = parseFloat("0xA");        // 0
     var num1 = parseFloat(22.5);         // 22.5
     var num1 = parseFloat("0908.5");     // 908.5
     var num1 = parseFloat("3.125e7");    // 31250000
     
     
     #연산자 과제 ( 아래 연산자 들을 쭉 한번 보세요 )
     
        -대입 연산자
        -비교 연산자
        -산술 연산자
        -비트단위 연산자
        -논리 연산자
        -문자열 연산자
        -조건 (삼항) 연산자
        -콤마 연산자
        -단항 연산자
        -관계 연산자
   
     

*/




불리언 타입 표

데잍터타입true로변환되는값false로변환되는값
불리언truefalse
문자열비어있지않은 문자열 모두""(빈문자열)
숫자0이 아닌 모든 숫자 포함0 , NAN
객체모든객체null
Undefined해당없음undefined

대입연산자

이름복합대입연산자
대입 연산x = yx = y
덧셈 대입x += yx = x + y
뺄셈 대입x -= yx = x - y
곱셈 대입x *= yx = x * y
나눗셈 대입x /= yx = x / y
나머지 연산 대입x %= yx = x % y
왼쪽 이동 연산 대입x <<= yx = x << y
오른쪽 이동 연산 대입x >>= yx = x >> y
부호 없는 오른쪽 이동 연산 대입x >>>= yx = x >>> y
비트 단위 논리곱 연산 대입x &= yx = x & y
비트 단위 배타적 논리합 연산 대입x ^= yx = x ^ y

비교연산자

연산자설명참을 반환하는 예제
같은 (==)피연산자들이 같으면 참을 반환합니다.3 == var3 , "3" == var3 , 3 == '3'
다른 (!=)피연산자들이 다르면 참을 반환합니다.var1 != 4 , var2 != "3"
엄격한 같은 (===)피연산자들이 같고 피연산자들의 같은 형태인 경우 참을 반환합니다. Object.is 와 자바스크립트에서의 같음 을 참고하세요.3 === var3
엄격한 다른 (!==)피연산자들이 다르거나 형태가 다른 경우 참을 반환합니다.var3 !== "3" , 3 !== '3'
~보다 큰 (>)좌변의 피연산자 보다 우변의 피연산자가 크면 참을 반환합니다.var2 > var1 , "12" > 2
~보다 크거나 같음 (>=)좌변의 피연산자 보다 우변의 피연산자가 크거나 같으면 참을 반환합니다.var2 >= var1 , var3 >= 1
~보다 작음 (<)좌변의 피연산자 보다 우변의 피연산자가 작으면 참을 반환합니다.var1 < var2 , "2" < 12
~보다 작거나 같음 (<=)좌변의 피연산자 보다 우변의 피연산자가 작거나 같으면 참을 반환합니다.var1 <= var2 , var2 <= 5

산술 연산자

연산자설명예제
나머지 연산자 (%)이항 연산자입니다. 두 피연산자를 나눈후 나머지를 반환합니다.12 % 5 returns 2.
증가 연산자 (++)단항 연산자입니다. 피연산자에 1을 더합니다. 만약 연산자를 피연산자 앞(++x)에 사용하면, 피연산자에 1을 더한 값을 반환합니다.; 만약 연산자를 피연산자 뒤(x++)에 사용하면, 피연산자에 1을 더하기 전 값을 반환합니다.If x is 3, then ++x sets x to 4 and returns 4, whereas x++ returns 3 and, only then, sets x to 4.
감소 연산자 (--)단항 연산자입니다. 피연산자로 부터 1을 뺍니다. 반환값은 증가 연산자와 유사합니다.If x is 3, then --x sets x to 2 and returns 2, whereas x-- returns 3 and, only then, sets x to 2.
단항 부정 연산자 (-)단항 연산자 입니다. 피연산자의 반대값(부호 바뀐값)을 반환합니다.If x is 3, then -x returns -3.
숫자화 연산자 (+)단항연산자 입니다. 피연산자가 숫자값이 아니라면 피연산자를 숫자로 변환하기를 시도합니다.+"3" returns 3. , +true returns 1.

논리 연산자

논리 곱 (&&)    :  expr1 && expr2   두개의 연산자가 true 일때만 true 를 반환합니다.
논리 합 (||)    :  expr1 && expr2   두개의 연산자중 하나라도 true 이면 true 를 반환합니다.
논리 부정 (!)    :  !expr1  피연산자가 true 로 변환될수 있으면 false을 반환 합니다.
/*
    var a1 =  true && true;     // t && t returns true
    var a2 =  true && false;    // t && f returns false
    var a3 = false && true;     // f && t returns false
    var a4 = false && (3 == 4); // f && f returns false
    var a5 = "Cat" && "Dog";    // t && t returns Dog
    var a6 = false && "Cat";    // f && t returns false
    var a7 = "Cat" && false;    // t && f returns false
    
    
    var o1 =  true || true;     // t || t returns true
    var o2 = false || true;     // f || t returns true
    var o3 =  true || false;    // t || f returns true
    var o4 = false || (3 == 4); // f || f returns false
    var o5 = "Cat" || "Dog";    // t || t returns Cat
    var o6 = false || "Cat";    // f || t returns Cat
    var o7 = "Cat" || false;    // t || f returns Cat
    
    
    
    var n1 = !true;  // !t returns false
    var n2 = !false; // !f returns true
    var n3 = !"Cat"; // !t returns false

*/

조건 연산자

조건 ? 값1 : 값2

var status = (age >= 18) ? "adult" : "minor";

;;이 구문은 age 변수가 18보다 같거나 클때 "adult" 값을 status 변수에 대입합니다. 그렇지 않은 경우, 이 구문은 "minor"값을 status변수에 대입합니다.

728x90
반응형

'web > 스터디' 카테고리의 다른 글

[스터디]6. 배열  (0) 2017.06.14
[스터디]5. 함수  (0) 2017.06.14
[스터디]4. 조건문 , 함수  (0) 2017.06.14
[스터디]2. 언어의 기초  (0) 2017.05.24
[스터디]1. HTML 속의 자바스크립트  (0) 2017.05.24

+ Recent posts