본문으로 바로가기

[JS] Javascript 기초정리1

category Dev/Javascript 2018. 5. 22. 17:17



변수

var, let, const로 선언

== 은 Just 텍스트만 비교!

=== 은 타입까지 비교!! (===을 쓰는 습관을 기르자!)

javascript는 변수의 타입이 없는 것이 아니라 실행시간에 타입이 결정된다

to.String.call(값)    타입확인하기


문자열

typeof "abc"                            // abc

"ab:cd".replace(":" , "#");          // ab#cd

"ab:cd".split(":");                       // [ "ab" , "cd" ]

"   abc   ".trim();                        // "abc"


함수

- 함수선언식

1
2
3
4
function funcDeclarations() {
  return "A function declaration";
}
funcDeclarations();
cs


- 함수표현식

1
2
3
4
var funcExpression = function () {
  return "A function expression";
}
funcExpression();
cs

-> 함수선언식은 호이스팅에 영향을 받지만, 함수표현식은 호이스팅에 영향을 받지 않는다!!!

# 호이스팅 : 함수 안에 있는 변수들을 모두 끌어올려서 선언!!

# 함수의 return 값을 지정해 주지 않으면 기본 반환값인 'undefined'가 반환된다!


- Arguments : 함수가 실행되면 arguments라는 특별한 지역변수가 자동으로 생성

1
2
3
4
5
6
7
8
var funcArgu = function(a1,a2,a3) {
  console.log(arguments[0]);    // 1
  console.log(arguments[1]);    // "haha"
  console.log(arguments[2]);    // undefined
}
 
 
funcArgu(1,"haha");
cs



- Arrow Function : this, arguments, super, new.target을 바인딩 하지않는 간결한 함수

1
2
var getName = (name=> "Hwangbo" + name;
console.log(getName("hyub"));
cs


- Callback 함수 : 즉시 실행되지 않고, 나중에 필요한 시점에 실행되거나, 실행이 안될수도 있는 함수


* setTimeout : 비동기 callback함수로 함수와 지연시간을 인자로 받음, 비동기로 실행되어 동기적인 다른 실행이 끝나야 실행됨

1
2
3
4
5
function run() {
  setTimeout(() => {
    console.log("test timeout...");
  }, 2000);
}
cs


'Dev > Javascript' 카테고리의 다른 글

[JS] 생성자 패턴  (0) 2018.09.03
[JS] Handlebar 템플릿 라이브러리  (0) 2018.08.22
[JS] DOM 심화  (1) 2018.07.11
[JS] Javascript 배열, 객체  (0) 2018.07.10
[JS] Javascript 기초정리2  (0) 2018.05.22