JavaScript-요약
- 버전
- 자바스크립트에도 버전이 존재하는데 그게 바로 ES5, ES6 이런 것들이다.
- 변수
- 변수는 var, let, const 로 선언할 수 있다.
- 주로 var를 사용하고 let과 const는 ES6이후 문법에서 등장해서 아직 많이는 안쓰임.
- 어떤 것을 사용하는가에 의해서 scope, 즉 변수의 유효범위가 달라진다.
- 연산자
- or연산자는 데이터변수를 선언할 때에도 유용하게 쓰일 수 있다.
var name = "crong"; var result = name || "crown"; console.log(result);
- 위 코드의 출력값은 crong이다.
- 원래는 if-else문으로 name이 null이냐 알아보고 맞으면 딴거 아니면 새로운거 이런식으로 복잡하게 변수할당할 것을 엄청 간단하게 할 수 있다.
- ==과 ===의 차이 → ===는 정확한 타입까지 비교한다. ==는 암묵적으로 타입을 변환해서 비교한다.
- 자바스크립트에선 습관적으로 ===를 많이 써야한다.
- or연산자는 데이터변수를 선언할 때에도 유용하게 쓰일 수 있다.
- 자바스크립트의 type
- 타입은 선언할 때가 아니고, 실행타임에 결정된다. 함수안에서의 파라미터나 변수는 실행될 때 그 타입이 결정된다.
- 타입확인은 toString.call 함수를 이용해서 그 결과를 매칭하곤 하는데, 문자, 숫자와 같은 자바스크립트 기본 타입은 ‘typeof’ 키워드를 사용해서 체크할 수 있다.
- 배열은 타입을 체크하는 isArray함수가 표준으로 생겼다.
- undefined는 자바스크립트의 중요한 type 중 하나이다.
- 함수
- 파라미터의 개수와 인자의 개수가 일치하지 않아도 오류가 나지 않는다.
- 만약, 파라미터 1개가 정의된 함수를 부를 때, 인자의 개수를 0개만 넣어 실행하면, 이미 정의된 파라미터(매개변수)는 undefined이라는 값을 갖게 된다.
- 이는 변수는 초기화됐지만, 값이 할당되지 않았기 때문이다.
- 함수 표현식
var printName = function (firstName) { return "my name is " + firstName; }
- 이렇게 함수를 변수에다 할당하는 방식
- 자바스크립트 함수는 반드시 return값이 존재하며, 없을 때는 기본 반환값인 ‘undefined’가 반환된다.
- 자바스크립트에서는 void 타입이 없다.
- arguments
function b() { var sum = 0; for (var i = 0; i < arguments.length; i++) { console.log(arguments[i]); sum += arguments[i]; } return sum; } console.log("위 숫자의 합은 " + b(7,2,3));
- 위와 같이 매개변수로 받는 인자의 배열처럼 구성되어있는 것이 arguments이다.
- arguments는 약한 코드이기 때문에 너무 자주 쓰지 않았으면
- arrow function → ES2015 최신문법이다.
function getName(name) {
return "Kim " + name ;
}
//위 함수는 아래 arrow함수와 같다.
const getName = (name) => "Kim " + name;
댓글남기기