왜 <script> 태그가 어떤 건 head에 있고 어떤 건 body에 있나여?
프로그램의 실행 순서는 순차적이기 때문에, 태그가 달리기 전에 실행해서 다른 작업들을 해야하는 스크립트들은 head, 그게 아니라면 body 끝에 붙인다. head에서 Js가 실행되면 아직 정의되지 않은 body의 요소들에게 접근할 수 없기 때문.
굳이 head에 붙이고 싶다면, 사용되는 스크립트에 onload 같은 이벤트에 콜백함수를 붙이면 된다.
async나 defer 속성을 사용하면 문서가 로딩되면서 스크립트도 동시에 불러오게 하는 것이 가능하다.
람다식 있음?
익명 함수 있음. 변수에 함수를 넣어서 변수() 식으로도 쓸 수 있고, 그 때 그 때 정의해서 일회용으로 쓸 수도 있다.
function a_f()
{
console.log("난 함수야.");
}
let a = a_f;
let b = function()
{
console.log("나도 함수야.");
}
function callback_f(cb)
{
cb();
}
callback_f(function()
{
console.log("이렇게 쓰는 게 일반적이야.");
});
예외처리 어케 함?
Java랑 비슷하게 try-catch-finally와 throw 커맨드로 해결할 수 있다.
재밌는게, Java는 Exception이라는 클래스를 throw하잖음? 근데 Js는 그냥 아무거나 막 던져도 된다. 심지어 catch가 없어도 돌아간다! 그래서 오류 잡는 용도로만 쓰지 않고 if-else의 확장으로도 쓰기 좋음.
try
{
console.log("난 오류 없는 구문이야.");
throw "난 에러야 멍청아.";
console.log("난 오류가 발생한 뒤라서 실행되지 않아.");
}
catch(e)
{
console.log(e);
}
finally
{
console.log("모든 일이 끝났군...");
}
'프로그래밍 > JavaScript' 카테고리의 다른 글
| WEB - AJAX와 JSON (0) | 2022.02.14 |
|---|---|
| WEB - Event (0) | 2022.02.14 |
| WEB - Window와 Document (0) | 2022.02.12 |
| 조건 & 반복 (0) | 2022.02.11 |
| 배열 ( Array ) (0) | 2022.02.11 |