본문 바로가기

JavsScript

[JS] 내 이름은 다재다능 논리연산자 논리연산자 다시보기요약 : AND논리연산자 &&는 그 특성 때문에 if문 과 비슷하게 사용할 수 있다. OR논리연산자 ||는 그 특성때문에, 변수를 선언할때, 유용하게 사용할 수 있다.NOT논리연산자 !을 이용하여 어떤 값의 boolean값을 얻을 수 있다. 최근에 논리연산자를 다시보며, 새로 알게된 사실이 있습니다.논리연산자 또한, 평가후에 리턴이 있다는 것입니다.이러한 JS의 특성과 AND, OR연산자의 특성을 함께 이용하여, 생각치 못한 동작을 하게 할 수 있습니다. (좀 꼼수같은) AND 연산자 다르게 사용하기AND 연산자 &&는 좌, 우로 피연산자 2개를 가지는 연산자 입니다. 또한 &&는 좌에서 우로 평가됩니다.기본적으로 좌항과 우항이 모두 참이면 우항의 truthy한 값을 리턴하고 그 외의경.. 더보기
[JS] 유효범위와 호이스팅(hoisting) 자바스크립트 유효범위와 호이스팅 자바스크립트의 유효범위는 블록 유효범위(block scope)가 아니라 함수 유효범위(function scope) 입니다. JAVA나 C/C++같은 언어의 유효범위와는 조금 다릅니다. 123456function scopeTest() { for(var loop = 0; loop 더보기
[JS] JS String literal "" '' 줄바꿈 JS String literal "" '' 줄바꿈요약 : 1. 템플릿 리터럴 사용 2. \(back slash) 사용 3. ""와 + 로 연결 오늘 굉장히 부끄럽고 충격적인 경험을 했습니다.저는 JS에서 문자열 리터럴("", '')에서 줄바꿈이 가능한줄 알고 있었습니다. 그런데 그게 아니었습니다. 굉장히 간단한 것 때문에 의문도 모른채 당황했습니다. 저는 이러한 코드를 작성하려고 했습니다. 1234567$(".main").html(' 연장신청 ');Colored by Color Scriptercs 미리 작성해둔 html을 단순히 삽입하기만 하는 아주 간단한 작업이었습니다. 아주 당연히 잘 작동할것 같은 코드가 에러를 뿜었습니다.Uncaught SyntaxError: Invalid or unexpected.. 더보기
[JS] JavaScript에서 오버로딩 구현하기 JavaScript에서 오버로딩 구현하기요약 : JavaScript에서는 이를 if와 argument, typeof, instanceof를 이용하여 구현할 수 있습니다. 안녕하세요.최근에 JS로 더블 링크드리스트를 구현해 보았습니다.구현하다보니 많은 욕심이 들어 일반적인 ADT를 벗어나서 마음대로 메서드들을 구현하였습니다.그 과정에서 메서드를 오버로딩 해야할 일이 생겼습니다. 그래서 알아본 결과 JavaScript에서 언어적으로 오버로딩을 지원하지는 않지만, 그것을 구현 할 수는 있었습니다. 오버로딩은 같은 이름의 메서드를 매개변수의 타입과 갯수를 다르게 여러개 정의하는 것입니다.목적은 다양한 매개변수에 응답하는 메서드를 구현하는 것입니다. JavaScript에서는 이를 if와 arguments, typ.. 더보기
[JS][자료구조] JS로 더블 링크드리스트 구현 JS로 더블 링크드리스트 구현 JS를 이용해서 더블 링크드리스트를 구현하여 보았습니다. 링크드리스트의 개념만 잘 적용이 되면 된다는 생각에 ADT는 마음대로 작성하여 구현하였습니다.다음에는 이 코드를 리팩토링 한뒤, 그 과정과 결과를 다시 올릴 예정입니다. ADTListlengthheadtail getIndex()clear()toString()find()isThereNode()remove()getNode()pushBack()pushFront()popBack()popFront() Nodeeleengthprevnext 더보기