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 cranio-cerebrală minim invazivă Chirurgia cranio-cerebrală minim invazivă

Tehnicile minim invazive impun utilizarea unei tehnologii ultramoderne.

Endoscoapele operatorii de diverse tipuri, microscopul operator dedicat, neuronavigația, neuroelectrofiziologia, tehnicile avansate de anestezie, chirurgia cu pacientul treaz reprezintă armamentarium fără de care neurochirurgia prin "gaura cheii" nu ar fi posibilă. Folosind tehnicile de mai sus, tratăm un spectru larg de patologii cranio-cerebrale.

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