'use strict';
//Function
//hi를 불러오는 함수를 만들어 보겠습니다.
function printHi(){
console.log('Hi');
}
printHi(); // 이렇게 하면 Hi만 나오기 때문에 쓸모가 없음..
// 그래서 파라미터를 받아서 찍어줘야 한다.
function log(message){
console.log(message);
}
//자바스크립트에서는 타입이 없기 때문에 명확하지가 않다.. string인지.. num인지
log('hihi');
log(1234);
타입이 없으므로 큰 프로젝트에서는 타입이 중요하므로 TypeScript를 사용해주는 것이 좋다.
// ES 5 에 추가되었다 , 상단에 정의
// 이것을 사용하면 정의하지 않은 변수를 쓰면 오류가 안났는데, console에 오류가 나오게 해줍니다.
'use strict'
상단에 'use strict'을 적어두고 시작한다. 좀 더 모던한 개발을 할 수 있음.
Variable ( 변수 )
// 2. Variable (변수)
// let (ES6에 추가되었음.)
let name = '승현';
console.log(name);
name = 'hello';
console.log(name);
변수는 계속해서 변하기 때문에 name을 호출하면 hello가 찍히는 것을 볼 수 있음.
// 2. Variable (변수)
// let (ES6에 추가되었음.)
let globalName = 'kaki';
{
let name = '승현';
console.log(name);
name = 'hello';
console.log(name);
}
console.log(name);
console.log(globalName);
이것은 {} 블록으로 scope를 설정해줬다 그러면 밖에서 console.log가 접근할 수 없어서 아무 값도 보이지 않지만
globalName은 밖에 선언돼있기 때문에 콘솔에 찍히는 것을 확인할 수 있음.
글로벌 변수는 프로그램이 시작하면서 끝날 때까지 탑재되어 있기 때문에 최소한으로 쓰는 것이 프로그램 효율에 좋다.
var는 절대 쓰지마 ! why ???
// var 쓰지마 !
// 값을 할당하기도 전에 console로 찍을수도 있고 값을 할당할 수 있음..
// var hoisting
// 블럭을 무시한다 , 블럭을 선언하면 깊은 곳은 접근을 하지 못하는데 var는 그냥 접근함 ..
console.log(age);
age = 4;
var age;