자바스크립트 기본


[ 변수 ]

변수는 문자숫자, $_만 사용한다.

첫글자는 숫자가 될 수 없다.

예약어는 사용할 수 없다.

가급적 상수는 대문자로~~

변수명은 읽기 쉽고 이해할 수 있게 선언.



[ let & const ]

변하지 않는 값은 const ,

변할 수 있는 값은 let 으로 선언한다.



[ 형변환 ]

자동형변환은 원인을 모르는 에러를 발생할 확률이 높다.

명시적형변환

String()

문자형으로 변환

console.log(
    String(3),
    String('test')
);


Number()

괄호 안에 타입을 int로 변환해준다.

console.log(
    Number("1234"),     // 1234
    Number("12fa1"),    // NaN
    Number(true),       // 1
    Number(false),      // 0
    Number(null),       // 0
    Number(undefined),  // NaN
)


[ 연산자 ]

const a = 1;
const b = "1";

// 동등연산자
console.log(a == b);    // true

// 일치연산자(타입까지 비교해준다.)
console.log(a === b);   // false



[ function ]

함수 선언문

어디서든 호출이 가능하다. 자바스크립트는 내부적으로 초기화 단계에서

코드의 모든 함수 선언문을 찾아서 생성해둔다. 따라서 아래 코드와 같이

함수 호출 위치에 관계없이 코드가 실행이된다. 이를 호이스팅(hoisting)이라 한다.

// Case1 (코드가 실제로 올라오는 것은 아님)
testMethod(test);

function testMethod(arg) {
    // 로직
}

// Case2
function testMethod(arg) {
    // 로직
}

testMethod(test);


함수 표현식

함수 선언문과는 달리 순차적으로 실행된다.

let sayHello = function() {
    console.log("hello");
}


화살표 함수

let add = function(num1, num2) {
    return num1 + num2;
}

// 화살표 함수
let add =         (num1, num2) => {
    return num1 + num2;
}        

// return문이 한 줄일 경우
let add = (num1, num2) => num1 + num2;

// 인수가 하나일 경우 괄호 생략
let sayHello = name => `Hello, ${name}`;

// 인수가 없는 경우
let showError = () => {
    alert('error!');
}


[ Object ]