변수
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을 바인딩 하지않는 간결한 함수
- 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 |