CASE1) 함수(); function 함수() { console.log(안녕); let 안녕 = 'Hello!'; //에러 } // let 변수는 hoisting 되지만 var 변수처럼 지동으로 undefined 라는 값을 할당(일명 initialization) 해주지 않음 CASE2) 함수(); var 함수 = function() { console.log(안녕); var 안녕 = 'Hello!'; //에러 } //Hoisting은 변수의 선언부분만 되는데 변수에다 소괄호를 붙여봤자 아직 함수가 아니기 때문에 실행되지 않음 CASE3) let a = 1; var 함수 = function() { a = 2; } console.log(a); // 1 //함수를 정의만 했지 실행을 안시켜서 a = 2라는 부..
WEB
case1) var 사람 = { name: "손흥민", sayHi: function () { console.log("안녕 나는" + this.name); }, }; 사람.sayHi(); //안녕 나는 손흥민 case2) var 자료 = { data : [1,2,3,4,5] } 자료.전부더하기 = function(){ var sum = 0; this.data.forEach(function(a){ sum += a }); console.log(sum); } 자료.전부더하기() case3) 버튼이에요
(1) function 예쁜함수(){ //어쩌구 } (2) var 예쁜함수 = function(){ //어쩌구 } 함수는 (1) 또는 (2)처럼 만들 수 있지만 화살표 함수를 통해 만들 수 있음 var 예쁜함수 = () => { //어쩌구 } 1. 함수 본연의 기능을 아주 잘 표현 함수를 쓰는 이유는 1) 여러가지 기능을 하는 코드를 한 단어로 묶고 싶을 때 (그리고 나중에 재사용할 때) 2) 입출력기능을 만들 때 arrow function을 사용하면 함수 본연의 입출력 기능을 아주 직관적으로 잘 표현 var 두배만들기 = (x) => { return x * 2 } console.log( 두배만들기(4) ); console.log( 두배만들기(8) ); 2. 소괄호 생략이 가능 파라미터가 하나라면 소괄호..
1 그냥 쓰거나 함수 안에서 쓰면 this는 window console.log(this) 그러면 this 키워드는 그냥 window {블라블라} 이런 값이 나옵니다. 함수 내에서 this라는 값을 불러보면 그냥 window function 간지나는함수(){ console.log(this) } 간지나는함수(); window는 무엇? document.getElementById(), alert(), console.log() 이런 함수들을 보관하는 보관소 전역변수를 만들었을 때도 이 값을 보관 이렇게 변수를 큰 공간에 만드시면 x라는 변수는 window라는 큰 오브젝트안에 자동적으로 생성됩니다. 함수도 마찬가지 ※전역변수 : 코드 내 모든 곳에서 참조해서 쓸 수 있는 범용적인, 범위가 넓은 변수 script태그..
기본기부족! 알고리즘테스트 문제를 풀면서 문제를 이해하는것도 어렵지만 문제를 이해했다고 가정하더라도, 데이터를 어떻게 내가 원하는 데로 가공해야하는지 떠오르지않아 괴로웠다. 결론은 내 기본기 부족. 기본기가 탄탄했다면 그동안 흘러왔던 프로젝트에서 좀더 효과적으로 코드를 짤수 있지 않았을까 생각이 들었고, 이제는 다시 기본기를 충실히 해야할것같아 기본적인 문법부터 다시 훑어봤다. 1. Object.keys & Object.values 키나 밸류를 배열로 생성 const a = {brand:"bmw", model:'520d'}; const key_arr = Object.keys(a) // key로 배열 생성 const value_arr = Object.values(a) // value로 배열 생성 2. tr..
자바스크립트기본문법 1. HTML을 요소 변경 안녕 2. 누르면 무언가를 실행하고 싶을때( 이벤트리스너 ) 안녕 버튼 3. 잠깐 자료를 저장해두고 싶을때 (변수선언 및 자료구조) [JavaScript] 무엇으로 변수 선언을 하는것이 좋을까? var, let, const의 차이점 안녕 버튼 4. 긴 코드를 짧게 축약하려할때 (function) 5. 함수를 다양하게 쓰려면 파라미터를 잘 사용 7. if/else 조건문 8. for, freEach 반복문 안녕 버튼
변수란? 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 메모리 공간을 식별하기 위해 붙인 이름을 뜻하며, 간단히 말하자면 값의 위치를 가르키는 상징적인 이름 변수는 하나의 값을 저장하기 위한 수단이며, 객체나 배열같은 자료구조를 사용하면 여러개의 값을 그룹화하여 하나의 값처럼 사용가능 var id= 1; var name = 'go var user = {id:1, name: 'go'} var 변수이름(식별자) = 변수값 변수에 값을 저장하는 것을 할당(대입,저장)이라 함 변수 선언 변수를 사용하려면 반드시 선언이 필요하며, 변수를 선언할때는 var, let, const 키워드를 사용함. var 키워드는 여러단점이 있는데 가장 대표적인것이 블록레벨 스코프를 지원하지 않고 함수레벨 스코프를 지원한다..
입력받은 문자열을 숫자로 바꾸어 줄때 쓰는 두 가지의 함수가 있는데 어떤차이가 있는지 궁금했다. > 문자열이 숫자로만 이루어질경우 동일한 결과. var num = "1234" var num = Number('1234'); // 1234 var num = parseInt('1234'); // 1234 > 문자열이 숫자와 문자로 이루어질경우 다른 결과. var num = "1234" var num = Number('1234입니다'); // NaN var num = parseInt('1234입니다'); // 1234 var num = parseInt('이거슨1234'); // NaN parseInt는 함수명 그대로 정확한 파싱이 필요할때, Number는 빠른 처리 속도를 원할때 사용하면 될 것 같다.