Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Schimbare adresa DNS IPv4 pe rout...

Recomandare Barebone

Monede JO 2024

Suprasolicitare sistem electric
 CIV auto import

Mutare in MOZAMBIC - pareri, expe...

Scoatere antifurt airtag de pe ha...

Magnet in loc de clește pent...
 Cumparat/Locuit in apartament si ...

Pot folosi sistemul PC pe post de...

Sokol cu distorsiuni de cross-over

Filtru apa potabila cu osmoza inv...
 Kanal D va difuza serialul “...

Upgrade xiaomi mi11

securitate - acum se dau drept - ...

Farmacia Dr Max - Pareri / Sugest...
 

Intrebare JS

- - - - -
  • Please log in to reply
11 replies to this topic

#1
piramyd

piramyd

    Member

  • Grup: Members
  • Posts: 346
  • Înscris: 12.04.2007
Salut,

Poate cineva, va rog, sa imi explice de ce ar merge un sau logic aici in schimbul unui if-else?

var a;
var b = a || "unknown";
//aici b este 'unknown';

Multumesc!

#2
laffin

laffin

    Senior Member

  • Grup: Senior Members
  • Posts: 9,527
  • Înscris: 16.03.2007
if (undefined) {
} else {
}

#3
piramyd

piramyd

    Member

  • Grup: Members
  • Posts: 346
  • Înscris: 12.04.2007
Stiu, dar de ce merge sa inlocuiesti if-else cu sau logic?

#4
unbrutus

unbrutus

    Guru Member

  • Grup: Senior Members
  • Posts: 16,299
  • Înscris: 23.02.2017

View Postpiramyd, on 12 august 2018 - 23:29, said:

Stiu
la ce te referi cand spui "stiu", la care parte?

#5
_Smiley_

_Smiley_

    Guru Member

  • Grup: Senior Members
  • Posts: 20,032
  • Înscris: 24.02.2006
intrebarea este formulata foarte prost si nu se prea intelege bine ce vrei.

e posibil sa te referi la faptul ca JS foloseste evaluarea McCarthy. asta inseamna ca in expresiile logice nu evalueaza toata expresia daca nu e nevoie. in cazul lui OR (SAU) al doilea argument este evaluat doar daca primul este FALSE.

#6
UlrichVans

UlrichVans

    Active Member

  • Grup: Members
  • Posts: 1,091
  • Înscris: 28.06.2018
Fiindca asa au decis creatorii limbajului. E un fel de null coalescing operator (dar opereaza si cu conceptul de undefined).

Edited by UlrichVans, 13 August 2018 - 06:04.


#7
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,236
  • Înscris: 24.02.2007
E vorba de Falsy

Daca incepi sa pui if else te plictisesti repede cand te gandesti ca trebuie sa verifici: daca e undefined, daca e null, daca e vreun sir gol, etc.

#8
piramyd

piramyd

    Member

  • Grup: Members
  • Posts: 346
  • Înscris: 12.04.2007

View Post_Smiley_, on 13 august 2018 - 05:46, said:

intrebarea este formulata foarte prost si nu se prea intelege bine ce vrei.

e posibil sa te referi la faptul ca JS foloseste evaluarea McCarthy. asta inseamna ca in expresiile logice nu evalueaza toata expresia daca nu e nevoie. in cazul lui OR (SAU) al doilea argument este evaluat doar daca primul este FALSE.
Nu ma refer la asta.

View Postdani.user, on 13 august 2018 - 17:47, said:

E vorba de Falsy
Daca incepi sa pui if else te plictisesti repede cand te gandesti ca trebuie sa verifici: daca e undefined, daca e null, daca e vreun sir gol, etc.
Nu este vorba nici de asta.

View PostUlrichVans, on 13 august 2018 - 05:58, said:

Fiindca asa au decis creatorii limbajului. E un fel de null coalescing operator (dar opereaza si cu conceptul de undefined).
Asta e interesant, si pare ca seamana cu un raspuns bun. Doar ca nu gasesc niciunde documentat. Ai cumva documentatie?


Pentru cei care nu inteleg intrebarea, o reformulez:
Daca avem:
var b = a || "unknown";
, atunci de ce b este string, si nu este boolean?

#9
_Smiley_

_Smiley_

    Guru Member

  • Grup: Senior Members
  • Posts: 20,032
  • Înscris: 24.02.2006
https://www.ecma-int...gical-operators

aici e explicata foarte bine o implementare: https://developer.mo...cript/Guide/Expressions_and_Operators#Logical_operators

Edited by _Smiley_, 14 August 2018 - 16:49.


#10
UlrichVans

UlrichVans

    Active Member

  • Grup: Members
  • Posts: 1,091
  • Înscris: 28.06.2018

View Postpiramyd, on 14 august 2018 - 16:22, said:

Nu este vorba nici de asta.
Ba cam despre aia e vorba.

View Postpiramyd, on 14 august 2018 - 16:22, said:

Asta e interesant, si pare ca seamana cu un raspuns bun. Doar ca nu gasesc niciunde documentat. Ai cumva documentatie?

Pentru cei care nu inteleg intrebarea, o reformulez:
Daca avem:
var b = a || "unknown";
, atunci de ce b este string, si nu este boolean?

Logical OR (||)

expr1 || expr2

Returns expr1 if it can be converted to true; otherwise, returns expr2. Thus, when used with Boolean values, || returns true if either operand is true.

Ia value can be converted to true, the value is so-called truthy (All values are truthy unless they are defined as falsy). If a value can be converted to false, the value is so-called falsy. Posted Image

Examples of expressions that can be converted to false are(falsy values):
null;
NaN;
0;
empty string ("" or '');
undefined.

https://developer.mo...tors#Logical_OR

Edited by UlrichVans, 14 August 2018 - 17:38.


#11
piramyd

piramyd

    Member

  • Grup: Members
  • Posts: 346
  • Înscris: 12.04.2007
Multumesc! M-am lamurit.

#12
alexandrupope

alexandrupope

    Active Member

  • Grup: Members
  • Posts: 1,053
  • Înscris: 21.08.2018
Simplu

Anunturi

Chirurgia endoscopică a hipofizei Chirurgia endoscopică a hipofizei

"Standardul de aur" în chirurgia hipofizară îl reprezintă endoscopia transnazală transsfenoidală.

Echipa NeuroHope este antrenată în unul din cele mai mari centre de chirurgie a hipofizei din Europa, Spitalul Foch din Paris, centrul în care a fost introdus pentru prima dată endoscopul în chirurgia transnazală a hipofizei, de către neurochirurgul francez Guiot. Pe lângă tumorile cu origine hipofizară, prin tehnicile endoscopice transnazale pot fi abordate numeroase alte patologii neurochirurgicale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate